簡體   English   中英

如何使用CHARINDEX提高查詢性能?

[英]How to improve performance for query with CHARINDEX?

假設我有一張桌子

MyTab (ID int, MyNo varchar(50),.....)

MyNo列上有一個索引。

然后我有以下SQL查詢:

declare @Nos varchar(100000)
set  @Nos = ',001,002,003,004,'

Select * 
from MyTab
Where CHARINDEX(',' + MyNo + ', @Nos) > 0 

字符串@Nos很短時很好。 但是如果@Nos更大,說長度是10000,則查詢性能非常差。

如何改善這種情況的表現? 或者更好的解決方案來替換查詢?

我發布這種方法作為這個問題的一個詼諧的答案。 不幸的是,有太多人認真對待它。 雖然對於臨時查詢是可以的,但它實際上不適合生產。 在這個問題上接受的答案要好得多,也可以解決您的性能問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM