gpt4 book ai didi

sql-server - 通过大量连接提高 View 的性能

转载 作者:行者123 更新时间:2023-12-02 11:32:32 25 4
gpt4 key购买 nike

我有一个 View ,它使用 11 个外部联接和两个内部联接来创建数据。这会产生超过 800 万行。当我在 table 上计数 (*) 时,运行大约需要 5 分钟。我不知道如何提高该表的性能。有人对从哪里开始有什么建议吗?似乎所有要连接的列上都有索引(尽管有些是复合的,不确定这是否有影响......)

感谢任何帮助。

最佳答案

这是一个困难的问题,对于复杂的 View ,您还可能与针对 View 的查询进行交互,因此保证合理的性能将非常困难。 View 中的外连接(尤其是复杂的 View )也容易给查询优化器带来麻烦。

一种选择是具体化 View (在 SQL Server 上称为“索引 View ”)。但是,您可能需要监视更新性能以检查它是否不会造成太多开销。此外,物化 View 中的外部联接可能会妨碍实时刷新;如果您需要这个,那么您可能必须将 View 重新实现为非规范化表并使用触发器维护数据。

另一种可能性是检查 View 是否可以分为两个或三个更简单的 View ,可能会具体化一些但不是全部 View 。以这种方式实现某些 View 并从系统中获得性能可能会更容易。

关于sql-server - 通过大量连接提高 View 的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1924624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com