小编典典

索引会吸收SQL吗?

sql

假设我有一个包含大量行的表,并且要索引的列之一可以具有20个值之一。如果我要在该列上添加索引,它会很大吗?

如果是这样,为什么?如果我将数据划分为20个表(每个列的值一个),则索引大小将是微不足道的,但索引作用将是相同的。


阅读 188

收藏
2021-03-23

共1个答案

小编典典

索引(或多个索引)不烂。在过去的几十年中,许多非常聪明的人花费了大量的宝贵时间来确保做到这一点。

但是,您的架构缺乏同样的专业知识和精力,可能确实会非常糟糕。

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

2021-03-23