【发布时间】:2016-12-09 13:10:42
【问题描述】:
我想知道 SQL 中不同查询语法的性能。
我可以像这样执行查询:
1 - 使用 EXEC
DECLARE @sql varchar(max)
SET @sql = ' SELECT * from tableName'
EXEC (@sql)
2 - 简单陈述
SELECT * from tableName
从以上 2 个选项中,哪个在性能方面或在其他方面更好!?
提前致谢。
【问题讨论】:
-
我投了反对票,因为:首先,您应该能够自己测试性能影响。 (我想没有性能差异。)其次你的“其他方面” - 你是什么意思?我应该谈论一条线还是三条线?或者你应该如何标记变量?或者如果“选择*”是个好习惯?我认为这不是一个有用的问题。
-
这里,为了简单起见,我使用简单的查询。实际上,需要暴露多个表和特定列的连接。
-
根据使用的语法重新标记为
sql-server。如果您使用不同的东西,请为您的 DBMS 添加正确的标签。 -
@Naresh 即使有更复杂的查询,我猜(没有任何测试)这两个变体之间没有性能影响。但是你为什么不自己测试呢?
-
@a_horse_with_no_name :谢谢。我正在使用 Sql Server。
标签: sql-server performance tsql