表[ID,數據]
數據是這樣的:如何查詢行類似的IndexOf
str[N]
where子句是這樣的:
strs = 'str1#str2#str3#str4#str5......'
,如果我用 '#' 把它分解,我有一個很大的陣列。然後我這樣寫:
select * from Table where data in(str1,str2,str3,str4,str5).......
長度可能非常大。這太慢了。我只想做:
select * from Table where 'str1#str2#str3#str4#str5......'.indexOf(data)!=-1
謝謝!
你嘗試創建正在運行的查詢領域的指數? – mihail 2013-05-13 14:45:43
我覺得IN子句無法使用索引....當我知道SQL只能從http://www.sqlite.org/optoverview.html 告訴等於代替或LIKE – blackdog 2013-05-13 14:48:46
如果創建一個索引使用聲明這樣的: > CREATE INDEX idx_ex1 ON EX1(A,b,C,d,E,...,Y,Z); 然後,如果索引的初始列(列A,B,等等)顯示在WHERE子句術語索引可以使用。索引的初始列必須與=或IN運算符一起使用。最右邊的列可以使用不等式。對於最右邊的列所使用的索引的,可以有多達必須夾住兩個極端之間的列的允許值兩個不等式。 – mihail 2013-05-13 14:53:01