黑马程序员:java面试题之数据库优化方面的经验

黑马程序员:java面试题之数据库优化方面的经验

ID:32179092

大小:123.00 KB

页数:3页

时间:2019-02-01

黑马程序员:java面试题之数据库优化方面的经验_第1页
黑马程序员:java面试题之数据库优化方面的经验_第2页
黑马程序员:java面试题之数据库优化方面的经验_第3页
资源描述:

《黑马程序员:java面试题之数据库优化方面的经验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、目前部分开发人员面对一个很尴尬的境地:技术到了,但是语言表达能力没到!很多东西在实践操作中能够手到擒来,但是面试过程中却处处卡壳!很严重~用PreparedStatement一般来说比Statement性能高:一个sql发给服务器去执行,涉及步骤:语法检查、语义分析,编译,缓存 1.“inertintouservalues(1,1,1)”---二进制2.3.“inertintouservalues(2,2,2)”---二进制4.5.“inertintouservalues(?,?,?)”---二进制  有外键约束会影响插入和删除性能,如果程序能够保证数据的完整性,

2、那在设计数据库时就去掉外键。(比喻:就好比免检产品,就是为了提高效率,充分相信产品的制造商)  (对于hibernate来说,就应该有一个变化:empleyee->Deptment对象,现在设计时就成了employeeàdeptid)  看mysql帮助文档子查询章节的最后部分,例如,根据扫描的原理,下面的子查询语句要比第二条关联查询的效率高:  1.selecte.name,e.salarywheree.managerid=(selectidfromemployeewherename='itcast');  2.selecte.name,e.salary,m.n

3、ame,m.salaryfromemployeese,employeesmwhere  e.managerid=m.idandm.name='itcast';  表中允许适当冗余,譬如,主题帖的回复数量和最后回复时间等  将姓名和密码单独从用户表中独立出来。这可以是非常好的一对一的案例哟!  sql语句全部大写,特别是列名和表名都大写。特别是sql命令的缓存功能,更加需要统一大小写,sql语句à发给oracle服务器à语法检查和编译成为内部指令à缓存和执行指令。根据缓存的特点,不要拼凑条件,而是用?和PreparedStatment  还有索引对查询性能的改进也是

4、值得关注的。  备注:下面是关于性能的讨论举例  4航班3个城市1.    m*n2.3.  select*fromflight,citywhereflight.startcityid=city.cityidandcity.name='beijing';1.2.  m+n3.4.  select*fromflightwherestartcityid=(selectcityidfromcitywherecityname='beijing');5.6.  selectflight.id,'beijing',flight.flightTimefromflightwher

5、estartcityid=(selectcityidfromcitywherecityname='beijing')

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。