聚集列存储索引表通常对大型表很有用。理想情况下有数百万行。对查询也很有用,它只选择此类表中可用列的子集。
如果我们打破这两个“规则”/最佳实践会发生什么?
- 就像拥有一个聚集列存储索引表,它最多只能存储几千或几十万行。
- 并针对需要所有列的那些聚集列存储表运行查询。
与行存储聚集索引表相比,我的测试没有显示任何性能下降。这对我们来说很棒。
是否存在违反这两条规则的“长期”影响?还是任何尚未出现的隐藏陷阱?
上下文为什么需要它:我设计了一个数据库模型,它将用于不同供应商数据库的许多实例。每个数据库中的模式都保持不变,但不同的供应商有不同的数据量。因此,很少有小型供应商最终可能会在其表中包含少量数据(<1 000 000)。我不能让自己为行存储和列存储模型保留两个不同的数据库。