索引是否在SQL中吮吸?

Mr.*_*ble 5 sql indexing partitioning

假设我有一个包含大量行的表,其中一个我想索引的列可以有20个值中的一个.如果我在列上放一个索引它会很大吗?

如果是这样,为什么?如果我将数据分成数据到20个表中,每个值对应一个列,索引大小将是微不足道的,但索引效果将是相同的.

Jon*_*jap 7

这不是索引会吮吸.它将索引放在错误的列上,这些列会很糟糕.

说真的,为什么你需要一个单列的表?这些数据的含义是什么?它的用途是什么?

还有20张桌子?我建议您先阅读数据库设计,或者向我们解释您的问题的背景.


Mik*_*use 7

索引(或索引)不吸引人.许多非常聪明的人在过去的几十年里花了相当多的时间来确保这一点.

然而,您的架构缺乏相同数量的专业知识和努力,可能确实非常糟糕.

在所描述的情况下,分区等同于应用聚簇索引.如果表以其他方式排序(或以任意顺序排列),则索引必须占用更多空间.取决于平台,非聚集索引的大小可以减小,因为行的排序相对于索引值增加.

因人而异.


har*_*rpo 0

索引纯粹是为了性能。如果索引不能提高您感兴趣的查询的性能,那么它就很糟糕。

至于磁盘使用情况,您必须权衡您的担忧。不同的 SQL 提供程序以不同的方式构建索引,但作为客户端,您通常相信它们会尽力而为。在您描述的情况下,聚集索引可能在大小和性能方面都是最佳的。