主页 > IT业界  > 

SQL慢语句执行的很慢,如何分析优化呢,(如何优化的呢?)


慢查询出现的情况:

SQL执行慢如何解决?

可以采用MySQL自带的分析工具Explain。

通过key和key_len检查是否命中了索引(如果你已经添加了索引,还可以判断索引是否失效)通过type字段查看SQL是否有进一步优化的空间,是否存在全索引扫描或全盘扫描的情况通过Extra建议,判断是否出现了回表的情况,如果出现了,可以尝试添加索引或修改返回字段来修复。

通过key和key_len他们两个查看是否可能会命中索引。

type类型:

NULL:没有查询到表。不常见system:查询的是系统中的表 。不常见const:根据主键查询。常见eq_ref:主键索引查询或唯一索引查询ref:索引查询 (他有可能查询到多条数据。和eq_ref是不同的)range:范围查询index:索引树扫描(遍历整个索引树进行扫描)all:全盘扫描

可以采用explain或者DESC命令获取MySQL如何执行select语句的信息。

直接在select语句前加上explain或者DESC。

执行计划查询结果中:

possible_key 当前SQL可能会使用到的索引key当前SQL实际命中的索引key_len索引占用的大小。Extra额外的优化建议。

聚合查询、多表查询、表数据量过大查询(这三个可以通过SQL执行计划找到原因)

聚合查询 (新增一个临时表来解决)多表查询 (试着优化SQL语句的结构)表数据量过大查询 (通过添加索引来解决)深度分页查询
标签:

SQL慢语句执行的很慢,如何分析优化呢,(如何优化的呢?)由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“SQL慢语句执行的很慢,如何分析优化呢,(如何优化的呢?)