SQL 优化

来源:互联网 发布:mac如何用搜狗输入法 编辑:程序博客网 时间:2024/06/06 02:40

SQL优化

基本语句优化10原则

  • 原则1 避免在列上面进行运算,否则会导致索引失效。
  • 原则2: 使用JOIN的时候应该用小结果集驱动大结果集,拆分复杂的JOIN语句,避免JOIN多个表的时候造成堵塞。
  • 原则3: 使用LIKE模糊查询的时候,避免使用%%。
  • 原则4: 仅列出需要查询的字段,对速度并没有明显的影响,主要考虑到了内存。
  • 原则5: 使用批量插入语句节省交互。
  • 原则6: limit基数比较大的时候使用between。
  • 原则7: 不要使用rand函数获取多条随机记录。
  • 原则8: 避免使用NULL。
  • 原则9: 不要使用count(id),而应该是count(*)。
  • 原则10:不要做无谓的排序操作,而应该尽可能在索引中完成排序。

2 索引与性能分析

如何知道SQL执行效率呢?

set profiling=1

上面的语句可以开启mysql的性能跟踪功能。

show profiles;

上面的语句可以查看每条mysql对每一条语句的详细的执行报告。用这种方法可以定位瓶颈。

mysql建立和使用索引的基本原则是:

  • 每个表的索引应该在5个以下,应该合理利用部分索引和联合索引。
  • 结果比较集中的列上不应该建索引。
  • 建立索引的字段结果集最好分布均匀,或者符合正态分布。
原创粉丝点击