我在 windows 上编程,我将我的信息存储在 sqlite 中。 但是我发现获取所有项目有点慢。
我正在使用以下方式:
select * from XXX;
检索 1.7MB SQLite 数据库中的所有项目大约需要 200-400 毫秒。
它太慢了。谁能帮忙?
非常感谢!
感谢您的回答!
我必须对数据进行复杂的操作,所以每次打开应用程序时,我都需要从数据库中读取所有信息。
最佳答案
我会尝试以下方法:
- 通过运行“vacuum”命令清空您的数据库
- SQLite 以 2000 页的默认缓存大小开始。 (运行命令“pragma cache_size”来确定。每页是 512 字节,所以看起来你有大约 1 MByte 的缓存,这不足以容纳你的数据库。增加你的缓存通过运行“pragma default_cache_size=4000”来调整大小。这应该让你有 2 MB 的缓存,这足以让你的整个数据库进入缓存。你可以从 sqlite3 命令行运行这些 pragma 命令,或者通过您的程序,就好像它是另一个查询一样。
- 在您用于订购的字段上的表中添加索引。
关于c++ - 在 SQLite 中检索所有项目的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2947165/