Effective MySQL之SQL语句最优化学习笔记2


基本的分析命令

        在MySQL中,单一的工具或命令无法完成SQL语句的优化功能。本文将要介绍的SQL命令能够基本涵盖所有可能用到的SQL优化技术,包括创建索引。

  

1.EXPLAIN命令

        要确定一条想要运行的SQL语句的QEP,EXPLAIN命令是必不可少的工具。



       以后我们会详细介绍每一列的意义。下面的一些简单提示可以帮助我们快速找到大致的问题所在:
  • 没有使用索引(key列的值为NULL)
  • 很多处理过的行(rows列)
  • 很多被评估的索引(possible_keys列)

EXPLAIN PARTITIONS命令

       EXPLAIN的PARTITIONS关键字(MySQL5.1之后)对用于满足在partitions列中的查询的特定表分区提供附加信息。

2.SHOW CREATE TABLE命令

          show create table命令可以便于阅读和操作的格式向用户呈现基本表中的当前列和索引定义的全部细节。




3.SHOW INDEXES命令

       


       cardinality列的值非常重要,需要重点关注。该值代表在索引中每一列唯一值的数量估计值。

4.SHOW TABLE STATUS命令

       用户可以使用show table status命令查看数据库表的底层大小以及表结构,其中包括存储引擎类型、版本、数据和索引大小、行的平均长度以及行数。
 
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free |Auto_increment | Create_time         | Update_time | Check_time | Collation | Checksum | Create_options | Comment|
********************************************************************************************************************************************
| user | InnoDB |      10 | Compact    |    0 |              0 |       16384 |               0 |    16384 |         0 |              1 | 2014-05-27 21:10:02 | NULL        | NULL       | utf8_general_ci |     NULL | NULL           | InnoDB free: 11264 kB; (`cityid`) REFER `login/city`(`id`) |
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值