【问题标题】:Two fields index两字段索引
【发布时间】:2015-05-22 08:35:08
【问题描述】:

我有下一个查询:

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)");

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

【问题讨论】:

    标签: java android sqlite indexing


    【解决方案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] , ...)

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-15
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    相关资源
    最近更新 更多