SQL优化精简版

SQL优化

插入操作

1.批量插入
2.手动控制事务
3.顺序插入效率大于乱序插入
4.load

主键优化

主键设计原则
1.尽量避免主键过长
2.建议使用自增主键,避免乱序插入导致页分裂,降低效率
3.尽量避免使用UUID和自然主键.如身份证
4.尽量避免修改主键

order by

MySQL排序分为两种类型

1.Using FileSort
2.Using index
第二种效率更高

优化建议

1.根据排序条件建立合适索引
2.排序条件一升一降,建立联合索引时注意排序规则
3.尽量避免回表查询,使用覆盖索引
4.如果无法避免使用Using FileSort,可以适当增加排序缓冲区的大小

group by

1.根据分组条件建立合适索引(多条件时,建立联合索引)

limit

1.覆盖查询+子查询

count()

1.自己计数,如使用Redis维护记录数,在做添加操作时,+1;再做删除操作时,-1.
2.尽量使用count();count()在统计时只累加行数,不做其他操作,效率最高;count(主键),count(字段)在统计时还会取值.

update

1.更新条件尽量是索引字段,避免并发访问时将InnoDB行锁升级为表锁,降低并发访问效率.

posted @ 2023-05-25 18:25  飞船与程诩缘  阅读(71)  评论(0编辑  收藏  举报