我有一个 SQLite 数据库,架构非常简单,但在一张表中我有超过 200 000 个对象,第二张表中有超过 10 000 000 个对象。对于这两个表,我有索引,并且我更频繁地访问第一个表。
这是一个只读数据库,我不需要插入/删除/更改行。
我的应用程序正在使用 Java,我正在使用 Xerial jdbc 驱动程序来查询数据库。
我的问题是不时(或第一次)我的 SQL Select 需要很多时间(超过 120 秒)。接下来,当使用相同的请求时,它会更快(比如 3 秒!)。
我想保证我的客户在访问数据库时有固定的时间。我想第一次很慢,因为索引还没有加载。有没有办法强制加载?有没有办法从文件中加载完整的数据库并将其保存在内存中(文件大小约为 1.5Gb)?
欢迎任何改进的帮助!
塞巴斯蒂安。