我有一个〜1M行的SQLite表。每行的结构为(docId
,docBLOB
)。每个docBlob
接近20Kb。
我必须通过外部提供的SELECT
列表执行docID
。每个列表的长度可能接近10万个元素。我怎样才能更有效地做到这一点?
也许有一种方法可以使SELECT * IN docBlobTable WHERE docId IN ( [MEGALIST] )
语句?
最佳答案
将所有ID放入临时表中,然后使用:
SELECT * FROM docBlobTable WHERE docId IN (SELECT ID FROM TempTable)
要么:
SELECT docBlobTable.*
FROM docBlobTable
JOIN TempTable ON docBlobTable.docId = TempTable.ID