数据库作为Java面试的经典题目之一,历来备受技术面试官的青睐,千锋教育合肥校区老师为大家精心准备了几个有关Java面试的数据库问题,希望对大家有所帮助。
1. 触发器的作用?
触发器是一种特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。
2. 什么是存储过程?用什么来调用?
存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。
调用:
1)可以用一个命令对象来调用存储过程。
2)可以供外部程序调用,比如:java程序。
3. 存储过程的优缺点。
优点:
1)存储过程是预编译过的,执行效率高。
2)存储过程的代码直接存放于数据库中,通过存储过程名直接调用,减少网络通讯。
3)安全性高,执行存储过程需要有一定权限的用户。
4)存储过程可以重复使用,可减少数据库开发人员的工作量。
缺点:移植性差
4. SQL优化的具体操作
1)尽量避免使用select *,返回无用的字段会降低查询效率。
优化方式:使用具体的字段代替*,只返回使用到的字段。
2)尽量避免使用in 和not in,会导致数据库引擎放弃索引进行全表扫描。
优化方式:如果是连续数值,可以用between代替。如果是子查询,可以用exists代替。
3)尽量避免在字段开头模糊查询,会导致数据库引擎放弃索引进行全表扫描。
优化方式:尽量在字段后面使用模糊查询。
4)尽量避免进行null值的判断,会导致数据库引擎放弃索引进行全表扫描。
优化方式:可以给字段添加默认值0,对0值进行判断。
提前知悉面试题目,除了让你在面试中的发挥,重要的是使你能够掌握面试题目背后的知识点以及技术点,从而进行查缺补漏,不断提升自己。千锋教育合肥校区Java课程紧跟前沿技术发展,学员所学无缝对接职场需求,想要学到硬核技能的同学,可以前来校区试听课程。
相关文章
了解千锋动态
关注千锋教育服务号
扫一扫快速进入
千锋移动端页面
扫码匿名提建议
直达CEO信箱