我需要提高此查询的速度,它需要太长时间(16992毫秒)并且SQLite管理员使它更快
public Cursor getContacts(String search)
{
Cursor c;
String[]columns = {Constants.USER_NAME,Constants.PHONE_NUMBER};
String Limit = "0,20";
String query = search != null ? Constants.USER_NAME + " LIKE '" + search + "%' " : "";
c = myDataBase.query(Constants.TABLE_NAME,columns, query, null, null, null, null, Limit);
return c;
}
答案 0 :(得分:1)
根据数据库的大小,LIKE
- 语句需要一些时间。
形成您的方法名称我想您正在实施搜索您的应用程序?有一个很好的教程如何做到这一点:Link。这也包括如何加快搜索速度。
答案 1 :(得分:0)
LIKE
语句在SQLite中非常密集,特别是对于大字符串。
你可以尝试快速技巧并关闭编译指示以查看它是否加快了速度。如果数据库不断更新,请不要这样做,因为它可能会干扰原子性。如果它是一个静态DB,这是非常好的。加速我的大量查询和插入至少两倍,但他们没有使用like
。我很想知道这会如何影响你的速度。
rawQuery('PRAGMA synchronous = OFF');