重用sql与视图或功能

前端之家收集整理的这篇文章主要介绍了重用sql与视图或功能前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个SQL查询,我将在多个存储过程中重用.该查询适用于多个表,并根据传递给它的2个变量返回一个整数值.

不要在不同的存储过程中重复查询,我想分享它,并有2个选项:

>根据变量创建一个可以加入的视图,并从中获取整数值.
>再次使用传递给它的标准创建一个函数并返回整数变量

我倾向于选择1,但希望有更好的和常见的做法.哪个更好的性能明智等(加入视图或调用函数)

编辑:RDBMS是sql Server

解决方法

如果您将始终使用相同的参数谓词过滤结果,那么我将去参加一个参数化的内联表值函数.在理论上,这被视为与View相同,因为它们在实践中都被优化器扩展,可以避免谓词推送问题.这样一个例子可以在 this article的第二部分看到.

正如Andomar在评论中指出的那样,查询优化器确实做的很好,把谓词推到需要的位置,但是我并不知道使用内联TVF的情况会更糟,所以这似乎是两个(非常相似)结构之间的理性默认选择.

我可以看到的一个优点是,它将允许您选择没有过滤器或不同的过滤器,因此更多功能.

内联TVFs也可用于替代标量UDF以提高效率as in this example.

原文链接:https://www.f2er.com/mssql/82316.html

猜你在找的MsSQL相关文章