最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQL查询分析与优化_MySQL

来源:懂视网 责编:小采 时间:2020-11-09 18:31:17
文档

MySQL查询分析与优化_MySQL

MySQL查询分析与优化_MySQL:bitsCN.com MySQL查询分析与优化 Show www.bitsCN.com show status ——显示状态信息(扩展show status like ‘XXX’)show variables ——显示系统变量(扩展show variables like
推荐度:
导读MySQL查询分析与优化_MySQL:bitsCN.com MySQL查询分析与优化 Show www.bitsCN.com show status ——显示状态信息(扩展show status like ‘XXX’)show variables ——显示系统变量(扩展show variables like

bitsCN.com


MySQL查询分析与优化

Show www.bitsCN.com

show status ——显示状态信息(扩展show status like ‘XXX’)

show variables ——显示系统变量(扩展show variables like ‘XXX’)

show engine innodb status ——显示InnoDB存储引擎的状态

show processlist ——查看当前SQL执行,包括执行状态、是否锁表等

mysqladmin variables -u username -p password——显示系统变量

mysqladmin extended-status -u username -p password——显示状态信息

Explain

Table:显示这一行的数据是关于哪张表的

possible_keys:显示可能应用在这张表中的索引。如果为空,没有可能的索引。可以为相关的域从WHERE语句中选择一个合适的语句

www.bitsCN.com

key:实际使用的索引。如果为NULL,则没有使用索引。MYSQL很少会选择优化不足的索引,此时可以在SELECT语句中使用USE INDEX(index)来强制使用一个索引或者用IGNORE INDEX(index)来强制忽略索引

key_len:使用的索引的长度。在不损失精确性的情况下,长度越短越好

ref:显示索引的哪一列被使用了,如果可能的话,是一个常数

rows:MySQL认为必须检索的用来返回请求数据的行数

type:这是最重要的字段之一,显示查询使用了何种类型。从最好到最差的连接类型为system、const、eq_reg、ref、range、index和ALL

system、const:可以将查询的变量转为常量. 如id=1; id为 主键或唯一键.

eq_ref:访问索引,返回某单一行的数据.(通常在联接时出现,查询使用的索引为主键或惟一键)

ref:访问索引,返回某个值的数据.(可以返回多行) 通常使用=时发生

range:这个连接类型使用索引返回一个范围中的行,比如使用>或<查找东西,并且该字段上建有索引时发生的情况(注:不一定好于index)

index:以索引的顺序进行全表扫描,优点是不用排序,缺点是还要全表扫描

ALL:全表扫描,应该尽量避免

Extra:关于MYSQL如何解析查询的额外信息,主要有以下几种

using index:只用到索引,可以避免访问表.

using where:使用到where来过虑数据. 不是所有的where clause都要显示using where. 如以=方式访问索引.

using tmporary:用到临时表

using filesort:用到额外的排序. (当使用order by v1,而没用到索引时,就会使用额外的排序)

range checked for eache record(index map:N):没有好的索引.

Profiling

打开功能: mysql>set profiling=1;

show profiles; 可以得到被执行的SQL语句的时间和ID

show profile for query 1; 得到对应SQL语句执行的详细信息

测试完毕以后 ,关闭参数:mysql> set profiling=0

bitsCN.com

文档

MySQL查询分析与优化_MySQL

MySQL查询分析与优化_MySQL:bitsCN.com MySQL查询分析与优化 Show www.bitsCN.com show status ——显示状态信息(扩展show status like ‘XXX’)show variables ——显示系统变量(扩展show variables like
推荐度:
标签: 查询 mysql 分析
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top