0

我们有一个巨大的表 Table1(25 亿行),单列 A(NVARCHAR(255)数据类型)。针对此表进行查找操作的正确方法是什么。A 上的聚集索引与 A 上的聚集列存储索引。

我们已经将此表保存在与另一个表 Table2 不同的文件组中,它将与之连接。

您是否建议对该表进行分区以获得更好的性能?此列也将包含 unicode 数据。那么,什么样的分区方法适合 unicode 数据类型呢?

更新:为了进一步澄清,该表的用例是 SEEK。该表存储个人的标识符。这里主要关注的是在大表的情况下 SEEK 的性能。该表将在事务中引用。我们希望交易简短。

4

1 回答 1

1

聚集索引与列存储索引取决于表的用例。列存储跟踪列中的唯一条目以及存储这些条目的行。这使得它对于数据仓库任务(例如针对索引列的聚合)非常有用,但对于需要提取少量特定行的事务性任务来说并不是最佳选择。如果您使用的是 SQL Server 2014 或更高版本,则可以通过创建聚集列存储索引同时使用聚集索引和列存储索引。不过,它确实有一些限制和开销,您应该继续阅读。

鉴于这是对特定行的搜索,而不是列的聚合,我建议使用聚集索引而不是列存储索引。

于 2017-06-29T00:45:22.543 回答