这个例子:
表 A 有字段 Person 和 DateTime。我想在日期时间之后查询一个人的数据。有 1000 万行,有 1000 个不同的人,并且 DateTimes 在一年中平均分布。
问题:
在与示例类似的情况下玩了一下,我在采取措施并观察了sybase sql数据库上的执行计划后得出了以下结论。我真的找不到关于在互联网上的好信息。您是否会将以下陈述视为普遍的真实规则,还是取决于...,以及取决于什么?
当有不同的列具有或多或少不同的值,并且我们使用使用索引中所有列(有意义)的语句读取数据时,那么它是读取性能最好的:
- 如果索引只有一个字段,则选择具有最多样化值的列。
- 如果索引有多个字段,则按照从最不多样化到最多样化的顺序选择列。
当我想象一个索引组织一棵树中的指针时,每个节点都有两个后代,那么上面的陈述对我来说似乎是合乎逻辑的,不是吗?我也会对有关如何构建、使用索引结构或了解哪些引擎使用哪些类型的链接感兴趣,因为我觉得这对上面的陈述有影响......或没有?谢谢