读书频道 > 网站 > 网页设计 > MySQL入门很简单
18.2.1 分析查询语句
12-07-31    叶孤城
收藏    我要投稿   

本文所属图书 > MySQL入门很简单

本书从初学者的角度出发,由浅入深,循序渐进地介绍了MySQL数据库应用与开发的相关知识。书中提供了大量操作MySQL数据库的示例,还提供了大量实例和上机实践内容,供读者演练。本书共分5篇。第1篇介绍数据库的基...立即去当当网订购
查询是数据库中最频繁的操作。提高了查询速度可以有效的提高MySQL数据库的性能。本节将为读者介绍优化查询的方法。
 
18.2.1  分析查询语句
 
通过对查询语句的分析,可以了解查询语句的执行情况。MySQL中,可以使用EXPLAIN语句和DESCRIBE语句来分析查询语句。本小节将为读者介绍这两种分析查询语句的方法。
 
EXPLAIN语句的基本语法如下:
 
EXPLAIN SELECT语句;
通过EXPLAIN关键字可以分析后面的SELECT语句的执行情况。并且能够分析出所查询的表的一些内容。
 
【示例18-1】 下面使用EXPLAIN语句来分析一个查询语句。代码执行如下:
 
mysql> EXPLAIN SELECT * FROM student \G 
*************************** 1. row *************************** 
           id: 1 
  select_type: SIMPLE 
        table: student 
         type: ALL 
possible_keys: NULL 
          key: NULL 
      key_len: NULL 
          ref: NULL 
         rows: 6 
        Extra: 
1 row in set (0.01 sec)
查询结果显示了id、select_type、table、type、possible_keys和key等信息。下面分别进行解释。
 
id:表示SELECT语句的编号;
 
select_type:表示SELECT语句的类型。该参数有几个常用的取值,即SIMPLE表示简单查询,其中不包括连接查询和子查询;PRIMARY表示主查询,或者是最外层的查询语句;UNION表示连接查询的第二个或后面的查询语句;
 
table:表示查询的表;
 
type:表示表的连接类型。该参数有几个常用的取值,即system表示表中只有一条记录;const表示表中有多条记录,但只从表中查询一条记录;ALL表示对表进行了完整的扫描;eq_ref表示多表连接时,后面的表使用了UNIQUE或者PRIMARY KEY;ref表示多表查询时,后面的表使用了普通索引;unique_subquery表示子查询中使用了UNIQUE或者PRIMARY KEY;index_subquery表示子查询中使用了普通索引;range表示查询语句中给出了查询范围;index表示对表中的索引进行了完整的扫描;
 
possible_keys:表示查询中可能使用的索引;
 
key:表示查询使用到的索引;
 
key_len:表示索引字段的长度;
 
ref:表示使用哪个列或常数与索引一起来查询记录;
 
rows:表示查询的行数;
 
Extra:表示查询过程的附件信息。
 
DESCRIBE语句的使用方法与EXPLAIN语句是一样的。这两者的分析结果也是一样的。DESCRIBE语句的语法形式如下:
 
DESCRIBE SELECT语句;
DESCRIBE可以缩写成DESC。
点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站