如何在 SQLite 中使用分页?

Sag*_*ala 8 sqlite paging android

我想在现有应用程序中将Paging与 SQLite集成。我的数据库中有大约 90 个表,因此转换为Room非常耗时。我也尝试过,LIMIT...OFFSET但每次处理数据都需要时间。

谢谢。

Ani*_*bla 14

您可以使用limitoffset。您的查询将是这样的。

一个例子:

A) 我们有一个 id 列有 4 条记录的表,值为 1 | 2 | 3 | 4 个分别为 4 行。

B) 如果执行select * from TABLE_NAME:它从表中按顺序 1 | 返回所有记录 | 2 | 3 | 4 .

C)如果我们需要总计(例如限制)1条记录并且它应该从偏移索引2开始,然后使用

select * from TABLE_NAME limit 1 offset 2

这将返回记录索引| 3 | 因为请求限制 = 1 & 偏移索引 = 2。

同样可以使用 select * from company limit 2, 1;

注意,这里 2 是偏移量,1 是限制(顺序相反)。

由于 Android SDK 不提供单独的属性来设置偏移量,在这种情况下 SQLiteDatabase.query(..., limit) 的最后一个 'limit' 属性可以用作limit 2, 1.

  • 也在看这个 - 找到了另一种使用 sql 的方法,但检查是否可以在 sqlite 中完成 - https://dzone.com/articles/why-most-programmers-get-pagination-wrong (2认同)