【发布时间】:2011-04-09 17:15:57
【问题描述】:
案例 1:我有一个包含 30 列的表,我在 where 子句中使用 4 列进行查询。
案例 2:我有一个包含 6 列的表,我在 where 子句中使用 4 列进行查询。
这两种情况下的性能有何不同?
例如我有桌子
table A
{
b varchar(10),
c varchar(10),
d varchar(10),
e varchar(10),
f varchar(10),
g varchar(10),
h varchar(10)
}
SELECT b,c,d
FROM A
WHERE f='foo'
create table B
{
b varchar(10),
c varchar(10),
d varchar(10),
e varchar(10),
f varchar(10)
}
SELECT b,c,d
FROM B
WHERE f='foo'
A 和 B 表具有相同的结构,仅表示列数和使用的列数不同,其中条件也相同,选择中的列也相同。区别在于表 B 只有一些未使用的列,这些列没有在 select 和 where 条件中使用 在这种情况下,两个查询的性能有什么不同吗?
【问题讨论】:
标签: sql-server