Effective MySQL之SQL语句最优化——读书笔记之二

第二章,基本的分析命令

本章简单介绍了如下几个基本的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表中获取类似信息。注意:如果表规模较大可能查询需要较长时间
posted @ 2017-07-03 00:08  向北说再见  阅读(383)  评论(0编辑  收藏  举报