第二章,基本的分析命令
本章简单介绍了如下几个基本的MySQL分析命令:
- EXPLAIN命令
- 生成QEP不是确定的
- QEP不会绑定给一个SQL或者存储过程,而是在执行的时候根据实际情况生成
- 可以通过QEP的Key,rows,possible_keys列做初步分析
- 可选参数partitions(EXPLAIN PARTITIONS)用于解释SQL在分区中的情况
- 可选参数extended(EXPLAIN EXTENDED)及后续的show warnings可以看到SQL语句可能存在的问题
- SHOW CREATE TABLE命令
- 显示当前表,列和索引定义的所有信息
- mysqldump可以快速生成所有表定义(mysqldump -u user -p --no-data [schema] > schema.sql)
- SHOW INDEX命令
- 显示当前表的索引信息和索引基数
- 索引基数(Cardinality)表示索引中每一列唯一值的数量估计
- SHOW TABLE STATUS命令
- 返回表的底层结构,引擎类型,版本,数据和索引大小,行平均长度及行数
- MyISAM和InnoDB两个引擎之间对行数和平均长度的估计有不同
- 也可以从IMFORMATION_SCHEMA.TABLES表中获取类似信息。注意:如果表规模较大可能查询需要较长时间