简单的SQLite select语句需要2秒钟以上

时间:2018-07-10 14:32:12

标签: java android

我已索引表“ CREATE INDEX Items_idx ON Items(Itemcode,Barcode);” 并在那里插入了40万条线路。如何加快选择和返回数据的速度?

  public static Item instanceFromDBBarcode(SQLiteDatabase db, String  itemBarcode) {

    String[] args = {itemBarcode};
    String sql  ="SELECT * FROM Items WHERE "+BARCODE+"=?;
    Cursor reader = db.rawQuery(sql, args);
    if (reader.moveToNext()) {
        Item i = readCurrentItem(reader);
        reader.close();
        return i;
    }
    reader.close();
    return null;
}

1 个答案:

答案 0 :(得分:0)

对于400条记录,您的问题将不是列是否已建立索引。对于现代数据库,连续扫描400条记录将是微不足道的。
我相信您的索引并没有达到您的预期。 (项目代码,条形码)上的索引仅用于查询条形码不会帮助您查询,您应该仅在条形码上创建索引。