2017-05-19 112 views
1

在Realm android中有一種方法可以從緊密綁定中的表中獲取List。這是這樣的:具有限制的領域查詢

select * from POST where id<50 AND id>10 

其境界表示爲:

realm.where(Post.class) 
    .greaterThanOrEqualTo("id", 10) 
    .lessThan("id", 50) 
    .findAllSorted("id", false); 

這裏限制爲10-50五月包含40個行事業「身份證」是自動增量的主鍵。

現在我關心的是如何在這個領域Query上添加一個LIMIT?我的查詢將是這樣的:

select * from POST where id<50 ORDER BY id DESC LIMIT 15 

相關鏈接: thisthisthis

+1

請注意,而LIMIT增強正在考慮,它在Realm中幾乎沒有買到任何東西。在SQL情況下,它是控制內存和加載時間的有效方法。在Realm中,所有數據iis *已經在內存中*。查詢只是創建一個對它的引用。 –

回答

2

使用List.subList方法:

例如,list.subList(0, 15)

+0

感謝您的回答。境界是否直接提供任何方法來做到這一點? –

+1

@ Md.SajedulKarim,據我所知,沒有。你可以閱讀這個github線程:https://github.com/realm/realm-java/issues/544 – Vyacheslav

+0

正如@Vyacheslav指出的,不支持「LIMIT」。在SQL中,使用'LIMIT'來限制從數據庫加載的數據量(從磁盤到內存複製行到應用程序)。領域是零拷貝,所以你沒有看到相同的內存壓力。 – geisshirt