我在 SQLite 表中有超过 5000-6000 条记录。当我删除所有记录时,它需要很长时间并导致屏幕暂停并开始释放资源。
我用 AsyncTask 尝试过,但仍然是同样的问题。所以谁能告诉我应该如何在不阻止应用程序的情况下删除这数千条记录。
我不是 Sqlite 专家,但总的来说有 3 种方法可以做到这一点。
这是我大部分时间使用的。在您的情况下使用 Top XXX 删除语句,您可以在每 2 分钟内删除 200 条记录。(我假设您不会在 2 分钟内插入超过 200 条记录)。AsyncTask 就是这种方法的方式。在 T-SQL 中,我使用以下 sql 由您决定
从 UserId 所在的 tUser 中删除(从 LastLoggin< GetDate()-120 的 tUser 中选择前 200 个 UserId)