我有一个约 1M 行的 SQLite 表。每行的结构为 (docId
, docBLOB
)。每个 docBlob
将近 20Kb。
我必须通过外部提供的 docID
列表执行 SELECT
。每个列表可能有近 100K 个元素长。我怎样才能更有效地做到这一点?
也许有一种方法可以使 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
关于c++ - SQLite:通过 100K 元素列表进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20215558/