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 次 |
| 最近记录: |