2017-07-26 153 views
0

索引在我的應用程序中,我從數據庫加載時遇到性能問題。我有一個使用RecylerView的列表和一個數據光標。一旦記錄數超過1000,該列表變得太慢以至於無法加載或進行任何操作。查詢使用此WHERE子句:COL1 = something AND (COL2 LIKE something OR col3 LIKE something OR col4 LIKE something) AND col5 is NOT NULL定義表

在這種情況下定義索引以獲得更好性能的理想方法是什麼? 還會減少查詢結果中的列數提高性能?

+0

RecyclerView.Adapter – png

+0

我有一個自定義適配器,它擴展了RecyclerView.Adapter – png

+0

你是指任何特定的方法或整個適配器? – png

回答

0

索引可以幫助搜索或排序。在您的查詢中,col1應該被編入索引,如果許多具有NULL值的行可以被過濾掉,則可能爲col5。 (查詢每個表只能使用一個索引,所以這將需要一個兩列索引。)

索引不能幫助緩慢的列表視圖,因爲它不會減少列表中的數據量來自數據庫的負載。

要加快列表的速度,您必須減少條目數。有關如何延遲加載條目的信息,請參見dynamic listview adding 「Load more items」 at the end of scroll,但最佳解決方案是添加更好的過濾器,以便永不需要加載太多條目。 (用戶應該如何處理它們?)