在我的Android應用程序中,我想對內容提供者執行查詢,然後優化搜索(我有兩個WHERE
子句字符串)。應該由第二個查詢返回的記錄是第一個查詢返回的行的子集。在Android中改進現有搜索查詢的結果
我目前的解決辦法是這樣的:
Cursor cursor1 = query (myUri, myProjection, where1, null, null);
//do stuff
Cursor cursor2 = query (myUri, myProjection, where2, null, null);
//do other stuff
如果我這樣做,第二個查詢的運行效率不高,在所有(它搜索的完整數據庫,就像第一)。我想第二個查詢只針對cursor1中返回的行來運行。可以這樣做,以及如何?
如果我使用相同(參數化)的字符串和不同的參數,android文檔指出可以緩存查詢。這可能有用嗎?還是有一種完全不同的方式來做到這一點?
只是爲了澄清,我試圖找到一種不涉及我自己的數據結構複製數據的解決方案。 –