我想获得使用存储过程的优点和缺点的列表.SP的主要优势似乎是预编译和从应用程序中提取数据.告诉我你的 idea .

推荐答案

更正:它们是否预编译取决于数据库.例如,在SQL Server中,它们不是.存储过程和参数化SQL都是在运行之前编译的.如果存在相应的执行计划,存储过程有时可以重用执行计划...但参数化SQL也是如此.

Edit: Here's what MSDN says about it:

SQL Server 2000和SQL Server 7.0版对语句处理进行了大量更改,将存储过程的许多性能优势扩展到所有SQL语句.SQL Server 2000和SQL Server 7.0在创建存储过程时不会保存部分编译的存储过程计划.与任何其他Transact-SQL语句一样,存储过程在执行时编译.SQL Server 2000和SQL Server 7.0保留过程缓存中所有SQL语句的执行计划,而不仅仅是存储过程执行计划.

Database相关问答推荐

如何避免在模式更改时重新同步微服务数据库之间的整个表?

TYPO3 OOPS,出现错误!编码:202402180809040864ba5c

MongoDB事务,回调API方法

如何使授权服务器与外部数据库保持同步?

DynamoDB 扫描 - 具有相同分区键的项目按顺序返回

如何将初始数据放入数据库

如何决定使用数据库事务

数据库设计:文件路径的首选字段长度

需要未提供的参数@ID?

为什么 COUNT() 只显示一行表格?

MySQL 慢查询日志(log) - 慢有多慢?

何时将数据库称为嵌入式数据库?

查询最后一天、上周、上个月SQLite

应用程序用户应该是数据库用户吗?

我应该使用 NULL 还是空字符串来表示表列中没有数据?

省略日期中的毫秒数

数据库模式与数据库表空间?

Python中准备好的语句和参数化查询之间的混淆

Android - ViewHolder 模式是否在 CursorAdapter 中自动实现?

在两列之间 Select 最近的日期