读书频道 > 网站 > 网页设计 > MySQL入门很简单
18.2.2 索引对查询速度的影响
12-07-31    叶孤城
收藏    我要投稿   

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

本书从初学者的角度出发,由浅入深,循序渐进地介绍了MySQL数据库应用与开发的相关知识。书中提供了大量操作MySQL数据库的示例,还提供了大量实例和上机实践内容,供读者演练。本书共分5篇。第1篇介绍数据库的基...立即去当当网订购
索引可以快速的定位表中的某条记录。使用索引可以提高数据库查询的速度,从而提高数据库的性能。本小节将为读者介绍索引对查询速度的影响。
 
如果查询时不使用索引,查询语句将查询表中的所有字段。这样查询的速度会很慢。如果使用索引进行查询,查询语句只查询索引字段。这样可以减少查询的记录数,达到提高查询速度的目的。
 
【示例18-2】 下面是查询语句中不使用索引和使用索引的对比。现在分析未使用索引时的查询情况,EXPLAIN语句执行如下:
 
mysql> EXPLAIN SELECT * FROM student WHERE name='张三'\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: Using where 
1 row in set (0.00 sec)
结果显示,rows参数的值为6。这说明这个查询语句查询了6条记录。现在在name字段上建立一个名为index_name的索引。CREATE语句执行如下:
 
mysql> CREATE INDEX index_name ON student(name); 
Query OK, 6 rows affected (0.09 sec) 
Records: 6  Duplicates: 0  Warnings: 0
现在,name字段上已经有索引了,然后再分析查询语句的执行情况。EXPLAIN语句执行如下:
 
mysql> EXPLAIN SELECT * FROM student WHERE name='张三'\G 
*************************** 1. row *************************** 
           id: 1 
  select_type: SIMPLE 
        table: student 
         type: ref 
possible_keys: index_name 
          key: index_name 
      key_len: 22 
          ref: const 
         rows: 1 
        Extra: Using where 
1 row in set (0.01 sec)
结果显示,rows参数的值为1。这表示这个查询语句只查询了一条记录,其查询速度自然比查询6条记录快。而且possible_keys和key的值都是index_name,这说明查询时使用了index_name索引。
 
点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

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