SQL 优化

本文介绍了SQL优化的十个基本原则,包括避免在列上进行运算、合理使用JOIN和LIKE语句、只查询所需字段等内容,并提供了如何开启MySQL性能跟踪及查看执行报告的方法。此外,还给出了MySQL建立和使用索引的基本原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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个以下,应该合理利用部分索引和联合索引。
  • 结果比较集中的列上不应该建索引。
  • 建立索引的字段结果集最好分布均匀,或者符合正态分布。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值