MySQL索引对查询的影响,18.2.2 索引对查询速度的影响

18.2.2  索引对查询速度的影响

索引可以快速的定位表中的某条记录。使用索引可以提高数据库查询的速度,从而提高数据库的性能。本小节将为读者介绍索引对查询速度的影响。

如果查询时不使用索引,查询语句将查询表中的所有字段。这样查询的速度会很慢。如果使用索引进行查询,查询语句只查询索引字段。这样可以减少查询的记录数,达到提高查询速度的目的。

【示例18-2】 下面是查询语句中不使用索引和使用索引的对比。现在分析未使用索引时的查询情况,EXPLAIN语句执行如下:mysql>EXPLAIN SELECT * FROM student WHEREname='张三'\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 WHEREname='张三'\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索引。

【责任编辑:云霞 TEL:(010)68476606】

点赞 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值