首页 > 数据库技术 > 详细

SQL优化(1)-分析方法(工具)

时间:2021-04-06 14:58:35      阅读:18      评论:0      收藏:0      [点我收藏+]

SQL效率问题定位:

在进行SQL优化前,需定位哪些SQL效率低,这一过程有如下几种方式、方法:

  1. show profiles:是mysql提供可以用来分析当前会话中语句执行的资源消耗情况。可以用于SQL的调优测量,show profiles 能够在做SQL优化时帮助我们了解时间都耗费到哪里去了。
  2. 慢日志:慢日志默认是关闭的,可配置开启(slow_query_log)、指定慢日志文件名、配置查询时间限制(定义超过多少时间为慢查询)。

explain:

通过上述方法定位到效率低的SQL后,可通过explain分析SQL如何执行的。

技术分享图片

字段 含义
 id select查询的序列号,是一组数字,表示的是查询中执行select子句或者是操作表的顺序。
select_type 表示 SELECT 的类型,常见的取值有 SIMPLE(简单表,即不使用表连接或者子查询)、PRIMARY(主查询,即外层的查询)、UNION(UNION 中的第二个或者后面的查询语句)、SUBQUERY(子查询中的第一个SELECT)等
 table  输出结果集的表
 type 表示表的连接类型,性能由好到差的连接类型为( system ---> const-----> eq_ref ------> ref -------> ref_or_null---->index_merge ---> index_subquery -----> range ----->index ------> all )
 possible_keys 表示查询时,可能使用的索引
 key 表示实际使用的索引
 key_len 索引字段的长度
 rows 扫描行的数量
 extra 执行情况的说明和描述

MySQL默认使用存储引擎InnonDB的索引结构是B+树。而根据叶子节点的内存存储不同,索引类型分为主键索引(聚簇索引)和非主键索引(二级索引、辅助索引)。

主键索引的叶子节点,存储的是整行信息。非主键索引叶子节点存储的是主键的值。

SQL优化(1)-分析方法(工具)

原文:https://www.cnblogs.com/lys0410/p/14600258.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!