SAR*_*VAN 21 sql stored-procedures temp-tables
在SQL Server存储过程中何时使用临时表以及何时使用游标.这是明智的选择吗?
mar*_*c_s 21
如果可能的话,避免像瘟疫这样的游标.SQL Server是基于集合的 - 你需要在RBAR(逐行 - 痛苦行)方式中做的任何事情都会变得缓慢,缓慢并违背SQL工作原理的基本原则.
你的问题很模糊 - 根据这些信息,我们无法真正说出你想要做什么.但主要建议仍然是:尽可能(并且在绝大多数情况下都可能),使用基于集合的操作- SELECT, UPDATE, INSERT和连接 - 不要强迫您对SQL Server进行程序性思考 - 这不是最好的方法.
因此,如果您可以使用基于集合的操作来填充和使用临时表,那么我希望每次都使用该方法而不是游标.
游标逐行工作,表现极差.在几乎所有情况下,它们都可以被更好的基于集合的代码替换(通常不是临时表)
临时表可以是好的也可以是坏的,具体取决于数据量以及您使用它们的方式.它们通常不是光标的替代品.
建议你读这个:http: //wiki.lessthandot.com/index.php/Cursors_and_How_to_Avoid_Them
| 归档时间: | 
 | 
| 查看次数: | 28419 次 | 
| 最近记录: |