SQL如何优化?

第一步:根据慢日志定位慢查询SQL

1.首先检查SQL中是否使用函数,隐式类型转换(字符串转数字),隐式函数或者传入的值超过索引长度

2.SQL中字段的字符集是否一致

3.如果使用count计数,尽量使用count(*)或者count(1),count(字段)会涉及到回表操作,count(id)会全表扫描,并且count(字段)和count(id)都需要判空操作,也可以按照具体的业务选择MyISAM引擎,直接取值

4.查看当前语句的状态,是否是在等MDL锁,数据页flush,其他线程占用了行锁

5.如果是热点数据,需要控制访问资源的并发事务量,可以将一行数据改成逻辑上的多行数据

第二步:使用explain等工具分析 SQL

查看SQL是否按照理想的状态检索最少的数据行,如果没有则查看是否走了指定索引

判断优化器是否选错索引,可以通过强行选择索引或者重新统计索

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

Java之项目解析+八股文 文章被收录于专栏

针对Java简历中项目的功能进行提问,大家可以在评论区中解答/讨论;同时提供八股文

全部评论

相关推荐

4 35 评论
分享
牛客网
牛客企业服务