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

时间:2018-08-21 21:13:30

标签: android sqlite

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

在一个表中有2000条记录,我可以在具有0条记录的表上运行'SELECT COUNT(*)',这可能需要5到30秒。

2 个答案:

答案 0 :(得分:1)

可能有很多原因。通常的原因是:

  1. 写得不好的查询
  2. 假设表上甚至存在一个主键,则不使用主键
  3. 设计不良的数据模型(表结构)
  4. 缺乏索引

IMO,您的案例可能缺少索引。检查是否已索引表/行。

答案 1 :(得分:-1)

“ SELECT COUNT(*)”,当sql执行时,char'*'需要数据库提取每个字段。

作为其他建议,您可以在“ count(<您的主键>)”中使用主键。