SQL Server 临时表与游标

标签 sql stored-procedures temp-tables

在 SQL Server 存储过程中何时使用临时表以及何时使用游标。哪个是性能方面最好的选择?

最佳答案

如果可能的话,像瘟疫一样避免光标。 SQL Server 是基于集合的 - 您需要以 RBAR(逐行)方式执行的任何操作都会很慢、迟缓,并且违背 SQL 工作原理的基本原则。

您的问题非常模糊 - 根据该信息,我们无法真正判断您想要做什么。但主要建议仍然是:只要有可能(并且在绝大多数情况下都是可能的),请使用基于集合的操作 - SELECT、UPDATE、INSERT 和联接 - 不要将程序思维强加于 SQL服务器 - 这不是最好的方法。

因此,如果您可以使用基于集合的操作来填充和使用临时表,我每次都会更喜欢使用该方法而不是游标。

关于SQL Server 临时表与游标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4568464/

相关文章:

sql - 是否可以在 S3 Select 中执行嵌套查询?

java - 无限循环的线程在捕获一些异常后停止

c# - GetSchema 方法可以异步工作吗?

java - Hibernate 查询将 count 转换为 int?

ruby-on-rails-3 - Rails 3 ActiveRecord 临时表

python - 如何使用 sqlalchemy 为现有表创建临时表?

sql-server - 存储过程API的最佳实践?

c# - ASP :gridview filter using listbox cannot make multiple selection

mysql - 如何创建接受参数的存储过程

hadoop - 使用选择和值创建临时表