数据库查询语序优化10原则

Micah2015年07月04日 20:39 分类 : MySQL  > MySQL应用
阅读: 1252

分享到微信朋友圈

数据库优化主要包括两个方面,一方面是SQL程序语句的优化,另一方面是数据库服务器和配置的优化。查询语句的优化主要涉及两个方面:一些普通遵循的原则,以及怎样对查询语句进行性能分析。

数据库优化主要包括两个方面,一方面是SQL程序语句的优化,另一方面是数据库服务器和配置的优化。查询语句的优化主要涉及两个方面:一些普通遵循的原则,以及怎样对查询语句进行性能分析。


原则1:尽量避免在列上进行运算,这样会导致索引失效


原则2:使用 JOIN 时,应该用小结果集驱动大结果集。同时把复杂的 JOIN 查询拆分成多个 Query 。因为 JOIN 多个表时,可能会导致索引失效。


原则3:注意LIKE 模糊查询的使用,避免 % %。


原则4:仅列出需要查询的字段,这对速度不会有明显的影响,主要考虑节省内存。


原则5:使用批量插入语序节省交互


原则6:limit 的 基数 比较大时 使用between 。


beween 限定比limit 快,所以海量数据访问时,建议用between或是where 替换掉 limit。但是between 也有缺陷,如果id 中间有断行或者是中间部分id不读取的情况,总读取数会少于预算!

在取比较靠后的数据时,用desc方式把数据反向查找,以减少对前段数据的扫描,让limit的基数越少越好。


原则 7:不要使用rand函数获取多条数据


这是获取一条随机记录,这样即使执行20次也比原来的语句高效。

或者用PHP产生随机数,来传送给MySql查询


原则8:避免使用null。


原则9:不要使用 count(id), 而应该是count(*)。


原则10:不要做无谓的排序操作,而应尽可能在索引中完成排序。

Micah
IT技术整理

精彩评论:0

还可以输入250个字 评论

评论成功

评论失败

推荐文章RECOMMEND
 

微信公众号

微博