7

我的产品责任范围内的一张表被批评为具有多个正交索引。

什么是正交索引?
为什么不好?
如何避免这种情况?

--Update--
后端数据库引擎在这里不一定相关,因为我们的应用程序与数据库无关。但如果它有帮助,甲骨文是一种可能性。

有问题的表格不用于财务分析。

4

4 回答 4

3

正交意味着彼此独立。

不知道为什么会不好。事实上,当有一个与主查询无关的常见查询时,我通常使用二级索引(除了“id”自动增量主键)。

于 2008-09-25T15:11:48.183 回答
0

我相信我在两个不同的场合听说过“正交索引”这个词,但我不知道这是否是一个公认的术语。在这两种情况下,它们都指的是查询优化器不使用的索引,因为:

  • 有一次,它索引了一个完全不相关的列,从未用作搜索条件或排序列;这个词对我来说听起来“古怪”,但我没有反对:)

  • 在另一种情况下,它是一个两列索引,但字段中列的顺序与所需的顺序相反。

我完全不知道这是否与您的问题有关:)

于 2008-09-25T14:19:26.097 回答
0

我可能会在这里回答我自己的问题,但请随意加入你自己的想法。

Javier 的回答 (+1) 让我开始认为,如果该索引中的项目完全不相关,那么拥有多个唯一索引可能是一件坏事。

换句话说,由于二级索引的唯一性约束,您增加了无法存储真实数据的机会。它还可能对不一定存在的数据引入人为约束。

于 2008-09-26T14:55:02.590 回答
0

正交只是意味着独立,即与主要关注点无关。

于 2008-09-25T13:52:40.340 回答