gpt4 book ai didi

tsql - 连接具有动态数据集的表

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

在我的查询中,我想将一个动态数据集(根据参数检索)与现有表连接起来。我正在研究什么是完成这个场景的最佳选择,最后我缩小到 3 个选项。

View 、CTE、函数、CTE+函数

查询看起来像

select id from table
where id not in (select id from dynamic_set (param1, param2) )
  • 在 View 中,我必须提取所有数据而不能对其进行过滤。
  • 函数必须针对表中的每一行运行,因此它可能会影响查询性能。
  • CTE 和函数的组合与使用函数本身几乎相同,只是可以过滤和优化行以获得稍微更好的性能。
  • CTE 类似于临时表,所以我的问题是大量数据会影响性能吗

我想听听您对最佳解决方案的看法

感谢参与

最佳答案

View 不会提取所有数据,它更像是一个可与其他查询一起使用的命名查询。当一个 View 被过滤时,它只是将该过滤器添加到该 View 中定义的查询中。

CTE 查询更像是一个本地 View ,它只能在定义它的地方(after;with)被引用。这也没有实现,我不知道有什么方法可以实现 CTE 查询,就像我们可以对 View 做的那样(通过添加聚簇索引)。

函数是最糟糕的选择,你说了为什么。如果仅在此处使用“内联”查询,我会选择 CTE 方式。

关于tsql - 连接具有动态数据集的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9159092/

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