可以使用什么技术来模拟表上的多个聚集索引



在Sybase 12.5中,有什么技术可以用来模拟表上的多个聚集索引吗?感谢

我不认为,您可以模拟多个聚集索引。因为在表上创建一个聚集索引时,数据会根据聚集索引列中的数据进行重新排列。从逻辑上讲,不能根据另一列按另一顺序排列表中的数据。您所能做的就是为其他列创建非聚集索引

您可以做的另一件事是组合两个或多个列并创建聚集索引。

我能想到的唯一近似方法是创建非聚集索引,其中包括表中的所有列。这样,非聚集索引将包含所有数据。

然而,要实现这一点,整个表必须适应对非聚集索引施加的任何约束。(例如,对于SQL Server,某些列数据类型和以字节为单位的整个大小都有限制——可能类似的限制适用于任何产品)。

最好的方法是创建尽可能多的表,并在这些表上尝试不同的聚集索引,这是您想要模拟的。然后,如果您的主要动机只是检查哪一列可以生成更好的聚集索引,那么可能会对这些表运行查询,以检查哪一个表的性能更好。但我建议您应该运行完整的工作负载或将对此表执行的所有查询,这样您就可以更好地了解哪些组合最适合您。

最新更新