我目前正在做一些测试,我注意到以下几点:
select field1 from table1
将导致index fast full scan
whenfield1
是主键,因此成本较低(在我的情况下是4690),而
select field2 from table1
将导致 a table access full
(没有约束也没有索引 on field2
,但即使使用常规索引,结果也是相同的),成本为117591。
当索引/约束涉及 JOIN/WHERE 子句时,我知道增益,但在我的情况下,没有任何过滤:我不明白为什么 PK 应该更快,因为无论如何,我正在检索所有行。 ..
是因为独特吗?Tom 说唯一索引在结构上与传统索引相同,这真的让我想知道为什么选择 PK 会比任何其他列花费更少。
感谢您的启发:-)
rgds。