[英]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.