Android 为什么我的Sqlite数据库在一个表获得大量记录时变得非常慢?

Android 为什么我的Sqlite数据库在一个表获得大量记录时变得非常慢?,android,sqlite,Android,Sqlite,我在Android上有一个Sqlite数据库,如果我把2000条记录放在一个表中,所有其他表都会变得非常慢 一个表中有2000条记录,我可以对一个有0条记录的表运行“选择计数(*)”,这可能需要5到30秒的时间。通常的原因是: 写得很差的查询 不使用主键,假设表中甚至存在主键 设计不良的数据模型(表结构) 缺少索引 依我看,您的案例可能缺少索引。检查是否为表/行编制了索引。在执行sql时,字符“*”需要数据库来提取每个字段 另外,您可以在“count()”中使用主键。是否有其他线程/进程同时写入

我在Android上有一个Sqlite数据库,如果我把2000条记录放在一个表中,所有其他表都会变得非常慢


一个表中有2000条记录,我可以对一个有0条记录的表运行“选择计数(*)”,这可能需要5到30秒的时间。通常的原因是:

  • 写得很差的查询
  • 不使用主键,假设表中甚至存在主键
  • 设计不良的数据模型(表结构)
  • 缺少索引
  • 依我看,您的案例可能缺少索引。检查是否为表/行编制了索引。

    在执行sql时,字符“*”需要数据库来提取每个字段


    另外,您可以在“count()”中使用主键。

    是否有其他线程/进程同时写入数据库?