【发布时间】:2010-12-02 14:39:20
【问题描述】:
我对自己设置索引很陌生。我目前只是在试验它,以了解它是如何工作的,以及在什么情况下数据库会使用索引。
我有一个包含 3 列的简单表格;一个id,一个名字和一个状态。我已经在名称上设置了一个索引,它是一个 CHAR(30) 列。出乎我的意料,MySQL 在以下查询中忽略了这个索引:
SELECT * FROM people WHERE name = 'Peter'
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE people ref name name 90 const 1 使用 where
但是,当使用以下查询时,会使用索引:
SELECT COUNT(*) FROM people WHERE name = 'Peter'
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE people ref name name 90 const 1 使用 where;使用索引
谁能给我解释一下?
【问题讨论】: