编辑
2026-01-29
java
00

目录

(1)如何定位慢查询
1.开源工具
2.Mysql自带的慢日志
(2)如何优化SQL
(3)索引
(4)聚集索引,二级索引(聚簇索引,非聚簇索引)回表查询
1.聚集索引
2.回表查询
(5)覆盖索引,超大分页优化
1.覆盖索引
2.Mysql超大分页
(6)创建索引的原则
(7)索引失效
2.范围查询右边的列不能使用索引
3.不要在索引列上进行运算操作
4.字符串不加单引号,造成索引失效
5.以%开头的like模糊查询,索引失效。如果仅仅是尾部匹配模糊查询索引不会失效。

(1)如何定位慢查询

出现原因:

聚合查询

多表查询

表数据过大

深度分页查询

1.开源工具

Arthas Prometheus Skywalking

image.png

2.Mysql自带的慢日志

image.png

面试话术

image.png

image.png

(2)如何优化SQL

聚合查询 新增临时表

多表查询 优化SQL语句结构 SQL执行计划(找到慢的原因)

表数据过大查询 添加索引

深度分页查询

image.png

image.png

image.png

面试话术

image.png

(3)索引

话术

image.png

image.png

image.png

(4)聚集索引,二级索引(聚簇索引,非聚簇索引)回表查询

1.聚集索引

image.png

2.回表查询

image.png

面试话术

image.png

image.png

(5)覆盖索引,超大分页优化

1.覆盖索引

image.png

image.png

覆盖索引没有回表查询

面试话术

image.png

image.png

2.Mysql超大分页

image.png

image.png

image.png

(6)创建索引的原则

image.png

面试话术

image.png

image.png

(7)索引失效

失效情况

1.违反最短前缀法则

image.png

image.png

2.范围查询右边的列不能使用索引

image.png

3.不要在索引列上进行运算操作

image.png

4.字符串不加单引号,造成索引失效

image.png

5.以%开头的like模糊查询,索引失效。如果仅仅是尾部匹配模糊查询索引不会失效。

image.png

面试话术

image.png

image.png

本文作者:钱小杰

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!