【发布时间】:2013-09-12 19:14:10
【问题描述】:
我有一个 SQLite 数据库,架构非常简单,但在一张表中我有超过 200 000 个对象,第二张表中有超过 10 000 000 个对象。 对于这 2 个表,我有索引,并且我更频繁地访问第一个表。
这是一个只读数据库,我不需要插入/删除/更改行。
我的应用程序正在使用 Java,并且我正在使用 Xerial jdbc 驱动程序来查询数据库。
我的问题是有时(或第一次)我的 SQL Select 需要很长时间(超过 120 秒)。接下来,当使用相同的请求时,速度会更快(比如 3 秒!)。
我想保证我的客户在访问数据库时有固定的时间。我想第一次很慢,因为索引还没有加载。 有没有办法强制加载? 有没有办法从文件中加载完整的数据库并将其保存在内存中(文件大小约为 1.5Gb)?
欢迎任何改进的帮助!
塞巴斯蒂安。
【问题讨论】:
-
你是如何配置SQLite的页面缓存的?
-
我目前只使用默认值。
标签: java sql database sqlite query-performance