c++ - SQLite:通过 100K 元素列表进行选择

标签 c++ sqlite

我有一个约 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/

相关文章:

c++ - 将包含 initializer_list 的参数包扩展到构造函数

c++ - 基于静态成员类型的模板函数特化

c++ - 如何在 switch 语句后将一个变量添加到另一个变量

mysql - 在 SQL 数据库表中,为什么冗余数据通常是一件坏事?

c++ - Boost TCP 客户端连接多个服务器

c++ - 为什么 .so 文件总是小于 .a 文件?(来源相同。)

Android SQLite 不能在单独的类中工作

java - 为什么我们不在 bindView 中使用 moveToFirst()?

android - 如何在sqlite db中部署android应用程序?

database - 你能在 AWS 上获得一个 sqlite3 数据库吗?