我正在建立一個Android應用程序的工作,但我沒有,我的SQL操作正在採取永遠完成Android的SQLite的需要很長時間才能完成
我已經異形應用範圍縮小到行爲將光標移動到結果集的第一行以進行簡單的選擇查詢(只返回1行,我正在測試它以消除結果集的大小作爲一個問題)。
是否有更好的移動選項到結果集的開頭?
編輯:
一些代碼:
public Cursor sqlQuery(String Sql)
{
Cursor c = database.rawQuery(Sql, null);
//start at the first spot
c.moveToFirst();
return c;
}
和調用代碼
Cursor Slots = evedb.sqlQuery("SELECT attrib.value, "
+"attribtypes.attributename "
+"FROM dgmTypeAttribs AS attrib "
+"INNER JOIN invTypes AS type "
+"ON attrib.typeID = type._ID "
+"INNER JOIN dgmAttribs AS attribtypes "
+"ON attrib.attributeID = attribtypes._ID "
+"AND attribtypes.attributename = 'hiSlots' "
+"AND type.typeName = '" + shipname + "'");
這個運行3次,我有它的時間約2秒的代碼或超過這個在一分鐘內所有的休息。
我也運行了rawQuery語句,但沒有移動到第一個,它需要大約18秒,所以我先看看代碼中最糟糕的部分。
能否請您與我們分享您的代碼,看看您是否做錯了什麼。你有沒有試過在adb的sqlite控制檯上運行查詢? – Pentium10 2010-11-02 12:47:55
看到我的評論下面我已經嘗試了一些移動指針的選項,但是對新創建的光標的特定操作正在將我的加載時間從3個查詢的約2秒鐘加載到一分鐘以上。 – Philderbeast 2010-11-02 13:18:28
代碼添加了更多關於測試已經完成的細節以找到我的問題的來源。 – Philderbeast 2010-11-02 13:31:44