两个字段索引
Two fields index
我有下一个问题:
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)");
但是我的索引应该包含一个字段。我该怎么做?
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] ,
...)
我有下一个问题:
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)");
但是我的索引应该包含一个字段。我该怎么做?
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] , ...)