所以我编写了几个存储过程,这些存储过程通过输入一个ID号来处理单个数据行。我想保留几个存储过程,可以在我的数据库方案的不同级别调用此存储过程。例如,当插入一行时,我调用这个存储过程。当别的东西被修改时,我想为每一行调用这个存储过程。这样我就可以拥有一组可以在其他地方调用的基本代码,但是这些基本代码会对不同数量的数据起作用。我已经能够用光标产生这个结果,但我被告知这些效率非常低。有没有其他的方式来产生这种功能而不牺牲性能?谢谢。T-SQL优化各种存储过程的性能问题
回答
是的。使用标准连接在集合上操作而不是在RBAR(行通过Agonizing Row)上操作。即不是为每一行调用一个函数,而是设计一个连接,作为设置操作对每一个适用的行执行所需的操作。
我经常看到devs使用'函数在每一行上运行',虽然这似乎是封装逻辑的一种明显方式,但它在SQL Server或大多数数据库引擎上表现不佳。
在某些情况下,可以有效地使用表值函数(MS SQL Server)。
(顺便说一句,你说的光标效率不高)。
嗯,我以为你无法在select语句中调用存储过程。我怎样才能使用一个存储过程来接收ID号并在连接中调用它?谢谢。 – 2010-08-16 00:33:18
@Bob L:我建议你不要。 – 2010-08-16 00:39:11
我明白了......所以让它成为一个函数或什么东西? – 2010-08-16 00:39:42
- 1. 优化TSQL存储过程
- 2. 存储过程的性能问题
- 3. 存储过程性能问题
- 4. SQL Server - 存储过程性能问题
- 5. SQL Server存储过程性能问题
- 6. 优化Oracle存储过程
- 7. 优化存储过程
- 8. 存储过程SQL优化
- 9. 优化存储过程
- 10. 存储过程优化
- 11. 优化存储过程的循环来提高性能
- 12. MySQL规范化存储过程性能
- 13. TSQL存储过程废话
- 14. TSQL:存储过程和ROWLOCK
- 15. TSQL存储过程和XQuery?
- 16. Sitecore性能优化 - 图像存储
- 17. 优化很长的存储过程
- 18. 如何优化我的存储过程?
- 19. Mysql - 存储过程并发性问题
- 20. SQL Server 2008的存储过程的性能问题
- 21. 带有多个相似子查询的存储过程的TSQL优化
- 22. 优化在asp.net应用程序中informix存储过程的性能?
- 23. DataSet和存储过程之间的性能问题
- 24. 大型数据集上的ODP.Net存储过程性能问题
- 25. 存储过程中的光标性能问题
- 26. 运行存储过程时的性能问题
- 27. 如何优化存储过程?
- 28. 存储过程计划优化
- 29. 如何优化此存储过程?
- 30. 如何优化存储过程
鲍勃,当你说“行事”你是什么意思?你审计的行动?您是否通过这些程序更新了参照完整性? – 2010-08-16 04:22:03