侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130555 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

mysql慢sql优化

2024-05-10 星期五 / 0 评论 / 0 点赞 / 9 阅读 / 1430 字

影响sql查询慢的因素1、没有索引或则无效索引导致的全表扫描。2、表的数据量和关联的表数量。致索引无效的情况1、表关联查询时,字段类型或长度不一致。如:varchar(10)和varchar(20)2

影响sql查询慢的因素

1、没有索引或则无效索引导致的全表扫描。
2、表的数据量和关联的表数量。

致索引无效的情况

1、表关联查询时,字段类型或长度不一致。如:varchar(10)和varchar(20)
2、查询参数的数据类型与索引字段类型不一致。如int = '1313'
3、in () 索引字段in查询时,通常是有效的。但是当in中指定的数据太多,优化器认为全表扫描更快时,也不会使用索引。
4、其他如:like、索引上使用函数等使索引失效。

sql的执行顺序

from>join>on>where>group by>avg/sum>having>select>distinct>order by > limit

优化过程

优化的重点:使sql每一步筛选的数据更少,更快。
1、通过explain sql获取的信息:
第一个执行查询的表;索引的使用情况;每张表扫描到的数据条数;

2、通过select count(distinct cl)/count(1) from table,来查询关键查询字段的选择性。越大说明选择性越高,这种字段就应该优先建立索引。

3、analyze table 根据情况,分析table使其索引重建或则分布更加均衡。

4、如果查询优化后,反应出来的数据仍然很多,查询很慢。这时就应该根据业务来调整查询条件。

广告 广告

评论区