gpt4 book ai didi

sql-server - sql server 中用于数据访问目的的 View 或存储过程中哪一个最好

转载 作者:行者123 更新时间:2023-12-02 21:43:06 24 4
gpt4 key购买 nike

我经常使用存储过程进行数据访问,但不知道哪个是最好的 View 或 SP。

存储过程和 View 都被编译,执行计划被保存在数据库中。因此,请告诉我哪一种最适合数据访问目的,以及为什么最好列出原因。

我在谷歌上搜索,想知道哪一个最好,但没有得到预期的答案。

最佳答案

关于存储过程导致应用程序更新更加困难,我不同意 Jared Harding 的观点。更新存储过程比更新应用程序代码容易得多,后者可能需要重新编译并要求您将用户踢出系统才能进行更新。如果您在存储过程中编写所有 SQL,则更新应用程序的频率可能只需要原来的一半。并且可以在不影响用户的情况下更新存储过程。

我强烈建议使用存储过程,而不是在应用程序代码中编写的 View 或 SQL。通过使用动态 SQL 构建为字符串并通过安全 sp_executesql 函数调用的参数化存储过程,您可以编写单个存储过程来选择可在多个应用程序和报告中使用的数据。实际上不需要使用 View ,除非您确实需要阻止对基础表的权限。最好在存储过程中创建基本的 SELECT 查询,然后使用参数选项来更改结果的过滤方式。例如,每个参数都可以向 WHERE 子句添加不同的行。通过不传递任何参数,您将获得完整的未过滤记录集。一旦您需要按不同字段过滤结果,您只需在该过程中添加一个参数和一行代码,然后让任何需要使用它的应用程序传入该参数。通过将存储过程参数默认为 null,您无需更改出于其他目的调用该存储过程的任何应用程序。

关于sql-server - sql server 中用于数据访问目的的 View 或存储过程中哪一个最好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5906786/

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