前言
在数据库的应用中,程序员们通过不断的实践总结了很多经验,这些经验是一些普遍的适用规则,每一个程序员都应该了解并记住它们,在构造sql时,养成良好的习惯,下面话不多说,来看看详细的介绍:
一、尽量避免在列上运算,这样会导致索引失效
1
|
select * from t where YEAR (d) >= 2011;
|
优化为
1
|
select * from t where d >= '2011-0101'
|
二、使用 JOIN 时,应该用小结果集驱动大结果集,同时把复杂的 JOIN 查询拆分成多个query,因为 JOIN 多个表,可能导致更多的锁定和堵塞
三、使用 LIKE 时,避免使用 %%
四、select 指定查询字段,不要全查出来,节省内存
五、使用批量插入语句节省交互
六、limit的基数比较大时,使用 between,between 限定比 limit 快,但是between也有缺陷,如果id中间有断行或是中间部分id不读取的情况,数据会少
1
|
select * from t where 1 limit 100000,10
|
优化为
1
|
select * from t where id between 100000 and 100010
|
七、不要使用 rand 函数取多条随机记录
八、避免使用 NULL
九、不要使用 count(id)
, 而应该是 count(*)
十、不要做无谓的排序操作,而应尽可能在索引中完成排序
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。
原文链接:http://www.phpyc.com/mysql-ji-ben-yu-ju-you-hua-de-10ge-yuan-ze/