Android Sqlite首次在查询执行上花费了更多时间

Android Sqlite首次在查询执行上花费了更多时间,android,sqlite,android-sqlite,Android,Sqlite,Android Sqlite,我在android应用程序中使用sqlite,我的应用程序中有一个巨大的数据库。我有一个带有索引列的300K条目的表 查询:从测试表中选择一些列,其中一些列=“一些文本”按某些列描述的顺序 自从应用程序安装在移动设备上以来,当第一次点击上面的查询时,大约花了7-9秒 每次连续呼叫数据库后,我都会得到大约200-250毫秒的时间。 即使我尝试重新启动应用程序,它也会给我同样的200-250毫秒 为什么会有巨大的差异,内部使用的任何缓存机制,如果有,缓存会工作多久? 有人能解释一下吗。您可以尝试的优

我在android应用程序中使用sqlite,我的应用程序中有一个巨大的数据库。我有一个带有索引列的300K条目的表

查询
从测试表中选择一些列,其中一些列=“一些文本”按某些列描述的顺序

自从应用程序安装在移动设备上以来,当第一次点击上面的查询时,大约花了7-9秒

每次连续呼叫数据库后,我都会得到大约200-250毫秒的时间。 即使我尝试重新启动应用程序,它也会给我同样的200-250毫秒

为什么会有巨大的差异,内部使用的任何缓存机制,如果有,缓存会工作多久?

有人能解释一下吗。

您可以尝试的优化方法是为正在查询的列创建一个

CREATE INDEX index_name ON table_name(column_list);

如果在安装后第一次发生这种情况,可能是系统首次加载应用程序的缓存造成的。

一旦成功打开,数据库将被缓存。
@IntelliJAmiya它表示只缓存数据库实例,而不缓存查询执行计划。