文章目录
- 十一、操作delete或者update语句,加个limit或者循环分批次删除
- 十二、UNION操作符
- 十三、批量插入性能提升
- 十四、表连接不宜太多,建议多表联查三张表以下,索引不宜太多,一般5个以内
- 十五、避免在索引列上使用内置函数
- 十六、组合索引
- 十七、复合索引最左特性
- 十八、优化like语句
- 十九、使用explain分析你SQL执行计划
- 二十、一些其它优化方式
十一、操作delete或者update语句,加个limit或者循环分批次删除
1、降低写错SQL的代价
清空表数据可不是小事情,一个手抖全没了,删库跑路?如果加limit,删错也只是丢失部分数据,可以通过binlog日志快速恢复的。
2、SQL效率很可能更高
SQL中加了limit 1,如果第一条就命中目标return, 没有limit的话,还会继续执行扫描表。
3、避免长事务
delete执行时,如果age加了索引,MySQL会将所有相关的行加写锁和间隙锁,所有执行相关行会被锁住,如果删除