01-MySQL优化的基本命令

1.基本的分析命令

  • EXPLAIN
  • SHOW CREATE TABLE
  • SHOW INDEXES
  • SHOW TABLE STATUS
  • SHOW STATUS
  • SHOW VARIABLES

2.EXPLAIN

a. 要确定一条想要运行的SQL语句的QEP,EXPLAIN命令是必不可少的工具。
b. 用户可以用使用这条命令深入了结MySQL的基于开销的优化器
c. 还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用

2.1 两个例子

EXPLAIN SELECT host, user, password FROM mysql.user
WHERE user LIKE 'r%' \G

例1.png

EXPLAIN SELECT host, user, password FROM mysql.user
WHERE host='localhost'
AND user LIKE 'r%' \G
例2.png

没有使用索引(key列的值为null)
很多处理过的行(rows列)
很多被评估的索引(possible_keys列)

2.2 EXPLAIN PARTITIONS

该命令对用于满足在partitions列中的查询的特定表分区提供附加信息


image.png

2.3 EXPLAIN EXTENDED

该命令提供了额外的filtered列,可以用于查询优化,如显然存在的索引最后为什么没有用到


image.png

3.SHOW CREATE TABLE

该命令以一种便于阅读和操作的格式向用户呈现基本表的当前列和索引定义的全部细节。
该命令告诉用户如何用准确的愈发来重新创建数据库表,并且用户可以很容易地在给定表上针对新的/更改的索引,数据类型,是否为null限制条件,字符集以及存储引擎创建优化

show create table.png

4.SHOW INDEXES

该命令可以查看索引的信息,这些信息包括索引的类型和当前报告的MySQL的索引基数


show indexes01.png

show indexes02.png

Cardinality列的值非常重要,该值代表在索引中每一列唯一值的数量的估计值

5.SHOW TABLE STATUS

该命令可以查看数据库的底层大小及表结构,包含存储引擎类型,版本,数据和索引大小,行的平均长度及行数

image.png

image.png

6.SHOW STATUS

该命令可以用来查看MySQL服务器的当前内部状态信息。

7.SHOW VARIABLES

该命令可以查看MySQL系统变量的当前值

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、MySQL架构与历史 A.并发控制 1.共享锁(shared lock,读锁):共享的,相互不阻塞的。 2.排...
    阿休阅读 4,697评论 0 37
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,992评论 19 139
  • 今天看到一位朋友写的mysql笔记总结,觉得写的很详细很用心,这里转载一下,供大家参考下,也希望大家能关注他原文地...
    信仰与初衷阅读 4,761评论 0 30
  • 一、MySQL架构与历史 A.并发控制 1.共享锁(shared lock,读锁):共享的,相互不阻塞的 2.排他...
    ZyBlog阅读 19,875评论 3 177
  • 我最近很焦虑。 总结起来有几点:1 焦虑年龄 2 因为年龄的关系想成家,想有自己的房子,车子,还有孩子。 3 因为...
    亲爱的啊田阅读 252评论 0 0