首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL server中列存储索引的联接消除

SQL server中列存储索引的联接消除
EN

Stack Overflow用户
提问于 2015-05-18 07:54:00
回答 1查看 553关注 0票数 2

有没有办法说服SQL Server 2014在连接列存储索引表时执行连接消除?

我们有一个标准的维度模型,带有事实表和维度,还有一些视图将事实与它们的多个维度连接在一起,以方便用户。

在使用传统的行存储表时,如果给定查询不需要连接,我们可以利用SQL的能力从这些方便的视图中消除连接,因为事实和维度之间定义了FK/PK关系,这使得查询规划器可以确保连接不会添加或删除行。

但是,我们希望将事实表转换为列存储,因为对于通常在数据仓库上执行的聚合查询类型,它们具有巨大的性能改进。但是如果我们这样做,我们就失去了定义外键的能力,因为列存储不支持外键。反过来,这阻止了规划者进行联接消除,使得方便的视图在许多情况下进行了一大堆不必要的联接。

有没有办法说服规划者在不使用外键的情况下进行连接消除?

EN

回答 1

Stack Overflow用户

发布于 2016-07-27 08:10:43

据我所知,对于SQL Server 2014,这是不可能的。您可以使用SQL Server2016集群列存储和外键轻松获得它... :)在SQL Server2014RTM& SP1分支的一些最新累积更新中,有一个有趣的错误修复程序可以提高一些性能,但我知道它并不完全是您想要的:Query plan generation improvement for some columnstore queries in SQL Server 2014 or 2016

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30293342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档