【发布时间】:2010-05-27 07:01:55
【问题描述】:
我已经阅读了这些关于 SQL 存储过程的关于 SO 的非常好的问题:
- When should you use stored procedures? 和
- Are Stored Procedures more efficient, in general, than inline statements on modern RDBMS’s?
我是集成 .NET/SQL 的初学者,尽管我在其他环境中使用基本 SQL 功能已有十多年了。现在是在组织和部署方面取得进展的时候了。我正在使用 .NET C# 3.5、Visual Studio 2008 和 SQL Server 2008;尽管这个问题可以被视为与语言和数据库无关,这意味着它可以很容易地应用于使用存储过程和关系数据库的其他环境。
鉴于我有一个包含内联 SQL 查询的应用程序,并且我有兴趣转换为存储过程以用于组织和性能目的,您对此有何建议?
以下是我脑海中与此主题相关的一些其他问题,可能有助于形成答案:
- 是否应该使用 SQL Management Studio 在 SQL 中创建存储过程,并在为客户端安装数据库时简单地重新创建数据库?
- 在我的应用程序中,在数据库初始化方法中创建所有存储过程是否会更好?
- 假设在新安装中创建存储过程必须在创建表之后创建似乎是合乎逻辑的。我的数据库初始化方法创建新表并插入一些默认数据。我的计划是在该步骤之后创建存储过程,但我开始认为可能有更好的方法从头开始设置数据库(例如在程序的安装程序中)。对此的想法表示赞赏。
- 我在整个应用程序中有各种查询。一些查询非常简单 (
SELECT id FROM table),而另一些则非常长且复杂,执行多个连接并接受大约 80 个参数。我应该用存储过程替换所有查询,还是只替换那些可能从中受益的查询? - 最后,由于这个主题显然需要一些研究和教育,您能否推荐一篇文章、书籍或教程来介绍使用存储过程而不是直接语句的细微差别?
【问题讨论】:
标签: sql stored-procedures