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