【发布时间】:2018-08-21 21:13:29
【问题描述】:
我在 Android 上有一个 Sqlite 数据库,如果我将 2000 条记录放在一个表中,所有其他表都会变得非常慢。
一个表中有 2000 条记录,我可以在一个有 0 条记录的表上运行“SELECT COUNT(*)”,它可能需要 5 到 30 秒。
【问题讨论】:
-
您是否有另一个线程/进程同时写入数据库?
我在 Android 上有一个 Sqlite 数据库,如果我将 2000 条记录放在一个表中,所有其他表都会变得非常慢。
一个表中有 2000 条记录,我可以在一个有 0 条记录的表上运行“SELECT COUNT(*)”,它可能需要 5 到 30 秒。
【问题讨论】:
这可能有很多原因。通常的原因是:
IMO,您的情况可能是缺少索引。检查您是否为表/行编制了索引。
【讨论】:
"SELECT COUNT( * )", char ' * ' 需要数据库在sql执行时提取每个字段。
作为附加建议,您可以在“count()”中使用主键。
【讨论】: