锁定老帖子 主题:面试遇到问你sql优化问题
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-07-17
程序员能了解一些sql优化的原则就OK了,网上soso
如果真正要优化时,还是要用工具进行实际的测试。 |
|
返回顶楼 | |
发表时间:2008-07-17
好好努力。去看java 写的开源数据据 hsql你会明白很多的
|
|
返回顶楼 | |
发表时间:2008-07-18
我还试过给问了sql92标准是什么呢
哈哈~~ |
|
返回顶楼 | |
发表时间:2008-07-18
如果你sql不行,说明你做的项目比较少。没碰到复杂的项目。
|
|
返回顶楼 | |
发表时间:2008-07-18
一个SQL语句,在他面上有很多东西的,以前调整的时候专门学过,不过现在好久没有和数据库打交道了。
例如 A,B两个表,A表是主表,10万数据.B表是辅助表,B有300数据,那么 (a,b分别属于A,B) Select a, b from A,B where A.id = b.id and b.id > z Select A.a, b.b from A,B where A.id = b.id and b.id > z 上面这个语句包含的意思很多,例如 from A,B 具体我忘记了,假设我说的是对的(不对的话from B, A就对了). 1,第一句selecr a, b明显不好,他回去遍历A,B两个表的查看a,b 2,From A,B 按照sql先搜索小表,效率更高,不过忘记是小表在前还是达标在前,记得是靠右原则,那么from B,A就更好. 3, where sql在执行where 语句的时候记得也是靠右原则,会先执行 A.id = b.id ,数据的搜索都大很多,如果b.id > z,先执行那么效率就高很多. 其他还有什么select not in () Group By Have这些每一个语法都有它的效率考虑,忘记了, 所以sql语句优化真的有必要, 还有就是索引,那个太长,一般dba做的 |
|
返回顶楼 | |
发表时间:2008-07-19
关键是有没有这方面的概念,很多人从来都不考虑这个问题的
|
|
返回顶楼 | |
发表时间:2008-07-20
我个人认为做JAVA的,少不了使用数据库的,有部份公司是有DBA,那另一部份没有DBA的,就是你对数据库的维护之类的,所以有时间花点时间看看,数据库的优化是WEB开发的一个很重要环节
个人认为优化: 1、从物理上优化(水平分区,垂直分区); 2、硬件上能配置好点的就更好了; 3、查询语句的优化不要使用*,应写字段,返回的记录数应控制,对查询的字段建索引,没必要关系太多的表就不要关联; 4、对于使用函数的选择应慎重考虑 应该还有很多,具体的就靠自己去测试了 |
|
返回顶楼 | |
发表时间:2008-07-20
程序员不知道sql优化,给人的感觉就好像是拷贝人员。
系统的优化,当然包括sql的优化,才是一个技术人员的基本功,可以知道一个技术人员到底水平如何!!! 在我看来sql的优化在于: 1,索引的利用 2,分区的利用 3,查询的分离。有时一条sql语句不见得比多条sql语句来的高效 4,表结构的设计。 根据不同的业务情况还有很多。。。。 |
|
返回顶楼 | |
发表时间:2008-07-20
realreal2000 写道 一个SQL语句,在他面上有很多东西的,以前调整的时候专门学过,不过现在好久没有和数据库打交道了。
例如 A,B两个表,A表是主表,10万数据.B表是辅助表,B有300数据,那么 (a,b分别属于A,B) Select a, b from A,B where A.id = b.id and b.id > z Select A.a, b.b from A,B where A.id = b.id and b.id > z 上面这个语句包含的意思很多,例如 from A,B 具体我忘记了,假设我说的是对的(不对的话from B, A就对了). 1,第一句selecr a, b明显不好,他回去遍历A,B两个表的查看a,b 2,From A,B 按照sql先搜索小表,效率更高,不过忘记是小表在前还是达标在前,记得是靠右原则,那么from B,A就更好. 3, where sql在执行where 语句的时候记得也是靠右原则,会先执行 A.id = b.id ,数据的搜索都大很多,如果b.id > z,先执行那么效率就高很多. 其他还有什么select not in () Group By Have这些每一个语法都有它的效率考虑,忘记了, 所以sql语句优化真的有必要, 还有就是索引,那个太长,一般dba做的 怎么记得是大表靠左? 还有些无非是索引, in和exists的替换,冗余和范式的平衡。。。。。 |
|
返回顶楼 | |
发表时间:2008-07-21
目前我只把数据库当表用,但是总是感觉用起来不是那么的顺手,抽点时间还是学习下吧。。(只是为了了解、用得更顺手)
|
|
返回顶楼 | |