求解:关于全索引扫描和全表扫描的疑问

关于全索引扫描和全表扫描的性能比较
查资料说,index比all类型性能高,但是有疑问

例如下面的例子,
create table test (a int(11), b int(11), primary key a(a), index b(b))engine=innodb;
1. select *from test force index (b) order by b
2. select *from test order by b

我的理解是 2的性能比较高:

情况1 用了b索引,减少了排序操作;但是需要再次通过索引定位到主键具体记录,而且这个操作可能有随机甚至重复的I/O;
情况2 要排序;但是能够直接顺序扫描数据表,属于顺序I/O;

当然这需要视具体的环境情况而定。

本人属于初学数据库,希望大侠们帮我解惑~,最好能详细点哈

作者: cglover   发布时间: 2011-06-01

上面我举例子有点问题,改下
create table test (a int(11), b int(11), c int(11), primary key a(a), index b(b))engine=innodb;

作者: cglover   发布时间: 2011-06-01