2相关的问题:在sql server中的性能?
问题#1:
我有一个与为myTable id , name , lastname
id
是种子(PK)。
name
有索引。 //不能nullAble。
哪个查询速度更快?
select id , name , lastname from mytable where name = name //(name has index on it!)
或
select id , name , lastname from mytable
问题#2: * 现在让我们假设呐我是空的。 *
从第一样品
有选择查询SP其它的参数是@name
+ @lastName
(返回的所有行name = @name
或lastName= @lastName
)
哪个查询是快?
select id , name , lastname from mytable where
(@name is null or [email protected])
and
(@lastName is null or [email protected])
这里如果@name或@LastName是空 - 所以它不会比较名称= @名
或
select id , name , lastname from mytable where
(name = isNull(@name,name))
and
(lastName= isNull(@lastName,lastName))
这里,如果@name或@ lastName为空,所以有仍然将是均衡 的
name= name
和lastName=lastName
,我认为这是不好的 表现。
请帮忙?
'name'是可空的吗?如果是这样,“问题#1”中的查询就不一样了。 – 2012-01-11 12:35:04
@MartinSmith没有那样的。我只是认为,如果我加了哪里有索引 - 所以它会更快....不是? – 2012-01-11 12:35:12
我删除了我刚刚回复的第一条评论,并将其替换为另一条评论... – 2012-01-11 12:35:59