Gad*_*ski 8 performance sql-server-2008 sql-server query-performance
将值设置为变量的更好方法是什么(关于性能)?
通过SET
命令:
DECLARE @VarString nvarchar(max);
SET @VarString = 'john doe';
SELECT @VarString;
Run Code Online (Sandbox Code Playgroud)通过SELECT
命令:
DECLARE @VarString nvarchar(max);
SELECT @VarString = 'john doe';
SELECT @VarString;
Run Code Online (Sandbox Code Playgroud)不要严格选择一个或另一个性能。
根据您的风格和开发需求选择适合您的风格和开发需求,正如在SELECT
和之间的这种出色比较SET
的结论中所建议的(添加了强调和次要格式):
最佳实践建议不要坚持一种方法。根据情况,您可能想要同时使用两者
SET
或SELECT
.以下是使用的几个场景
SET
:
- 如果您需要直接为变量分配单个值并且不涉及查询来获取值
- 预期为 NULL 分配(
NULL
在结果集中返回)- 任何计划的迁移都应遵循标准
- 非标量结果是预期的,需要处理
SELECT
在以下几种情况下使用高效灵活:
- 通过直接赋值来填充多个变量
- 多个变量由单个源(表、视图)填充
- 减少分配多个变量的编码
- 如果您需要获取
@@ROWCOUNT
并@ERROR
执行最后一条语句,请使用此选项
归档时间: |
|
查看次数: |
2521 次 |
最近记录: |