我有一个〜1M行的SQLite表。每行的结构为(docIddocBLOB)。每个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

10-08 08:21
查看更多