【发布时间】:2017-09-06 04:12:44
【问题描述】:
我试图了解在以下情况下使用两个单独的索引是否有意义:
ColumnA, ColumnB, ColumnC
我有疑问
1. where ColumnA = xxx and columnB = xxx
2. where ColumnA = xxx and ColumnC = xxx
如果我只创建一个索引,即ColumnA,这对这两个查询都有帮助吗?或者我应该在ColumnA + ColumnB 和ColumnA + ColumnC 上创建两个索引 Index1。
我知道拥有两个索引会更好,但我试图保持索引的数量较少,因为表相当大,但 columnA 相当独特。 ColumnA 过滤特定实体的数据,该实体只能始终深入研究该数据。
另外,如果ColumnA + ColumnB 上有一个索引,并且如果出现一个查询,其中ColumnB 是第一个,ColumnA 是第二个,是否会使用这个索引?
【问题讨论】:
-
"如果我只在 ColumnA 上创建一个索引,这对两个查询都有帮助吗?" 我想你的意思是问是否应该在 ColumnB 上创建一个索引?查询有共同的 ColumnB,而不是 ColumnA。
-
对不起,我想我打错了。 A 列很常见。