Android中的SQL方式太慢了......我如何加快速度?

时间:2011-10-14 13:04:57

标签: android sql

我正在为Android编写一个键盘应用程序,而我是SQL DB中的字符串键值。

这是一个键的示例行。在整个数据库中,我有大约160个这样的行。

(BTNID,TEXTADJUST,BUTTONSCALE,BUTTONSCALECNT,SPACINGLR,SPACINGTB,BTNOPA,BTNTEXT,BTNTEXTONCLICK,BTNTEXTONSHIFTCLICK,BTNTEXTCOLOR,BTNHUE,BTNSAT,LAYOUTSTDALTNUM,ATROW,BTNHUEHIT) VALUES('1','0','1','1','2','5','255','Q','qQ','Qq','0xFFFFFFFF','0','0','STD','1','0')

我正在通过

读取这个值
TBL_NAME = preferences.getString("TBL", "EnglishZLayout");

        SqlHelper sqlHelper = new SqlHelper(this, "TK.db", null, 1);
        SQLiteDatabase DB = sqlHelper.getReadableDatabase();

        String TBL_NAME_BTN = TBL_NAME.replace("ZLayout", "ZButtons");
        Cursor c = DB.rawQuery("SELECT * FROM "+TBL_NAME_BTN, null);

        c.moveToFirst();
        while (c.isAfterLast() == false) {
           ...

奇怪的是,加载大约需要20-30秒。有任何想法如何加快它?

我无法在应用中存储键值,因为用户必须能够更改它们。

谢谢!

2 个答案:

答案 0 :(得分:1)

每次执行查询时都不会重新创建数据库助手,是吗?在应用启动时执行此操作。

答案 1 :(得分:0)

要将我的评论转变为可能找到此帖子的其他人的“答案”:

  • 尝试没有实际按钮绘图代码的循环......你可能会看到SQL不是问题