DevOps开发运维
成长之路

MySQL索引应用规范

根据业务分析哪个表和列建立什么样的索引,业务主要包括产品的功能和用户的行为,找到”热”查询语句中较慢的语句,可以通过slowlog日志工具查看。”热”数据主要看架构分布式怎么设计
开发规范:注意哪些sql语句不会走索引即使有索引也不走

explain(desc)使用场景(面试题)

题目意思: 我们公司业务慢,请你从数据库的角度分析原因

第一种情况:应急性的慢:突然夯住

应急情况:数据库夯住(卡了,资源耗尽),观察CPU,内存可以看出
处理过程:
1.show processlist; 获取到导致数据库hang的语句
主要看command列的query行,time列的运行时间长短,info列为导致数据库夯住的语句
可以用show full processlist;显示info列为导致数据库夯住的完整语句
临时解决:kill id号;
2. 根本解决问题,explain 分析SQL的执行计划,有没有走索引,索引的类型情况
3. 建索引,改语句

第二种情况:一段时间慢(持续性的):

(1)记录慢日志slowlog,分析slowlog观察时间段,
(2)explain 分析SQL的执行计划,有没有走索引,索引的类型情况
(3)建索引,改语句
赞(1)

评论 抢沙发

评论前必须登录!

 

LNMP社群 不仅仅是技术

关于我们网站地图