有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java双字段索引

我有下一个问题:

Cursor cursor = ES09SQLiteHelper.getDatabase()
            .query(CompanyDomain.TABLE_NAME,
                    allColumns,
                    CompanyDomain.ADDRESS + " LIKE ? AND "
                            + CompanyDomain.NAME + " LIKE ?",
                    new String[] { Cities.TATARSTAN + city + "%",
                            "%" + query + "%" }, null, null, null);

这意味着SELECT * FROM companies WHERE address LIKE city% AND name LIKE %query%;我如何为它创建索引?我做到了以下几点:

database.execSQL("CREATE INDEX company_address_index ON "
                + CompanyDomain.TABLE_NAME + "(" + CompanyDomain.ADDRESS
                + " COLLATE NOCASE)");

但我的索引应该再包含一个字段。我该怎么做


共 (1) 个答案

  1. # 1 楼答案

    database.execSQL("CREATE INDEX company_address_index ON "
                    + CompanyDomain.TABLE_NAME + "(name, address 
                    + " COLLATE NOCASE)");
    

    或者在纯SQLite中:

    CREATE INDEX [name-of-index] ON [table-name]([column1] , [column2] , ...)