我的Android应用程序是通过使用在用户PC上生成并传输到设备上的SQLite数据库来工作的。它一切正常,但我没有预料到会有那么多用户拥有大量数据。在这些情况下,UI非常迟缓,因为它等待数据被获取。
我尝试了许多技巧,我非常确定它们会加快速度,但似乎没有任何显着影响。我的查询几乎都非常简单,通常是WHERE子句中的单个“col=val”,以及列中的INTEGER数据。所以我对查询无能为力。
最新的一次尝试,虽然我不是SQL专家,是在PC上使用“CREATE INDEX”命令,认为这些索引用于加速数据库搜索。索引显著增加了数据库文件的大小,所以我很惊讶它似乎对我的应用程序速度没有任何影响!一个原本需要8秒才能填充的屏幕,即使使用索引也仍需约8秒。我希望至少能将其降低一半。
此时我想知道的是,Android上的SQLite实现是否使用数据库索引,或者我只是浪费空间来生成它们。有人可以回答这个问题吗?
还有其他可以尝试加速访问的方法吗?
(值得一提的是,就绝对情况而言,用户没有任何抱怨。到目前为止,我的最坏情况用户的数据产生了630,000条记录(15个表),因此只有这么多可以做!)
Doug Gordon GHCS系统