0
创建复合数据库索引时,应该影响字段顺序的是什么?创建复合数据库索引时的列顺序
例如,假设我根据日期,价格,成交量什么应该影响我是否创建
DATE, PRICE, VOLUME VOLUME, DATE, PRICE . . .
大概一个会更适合于特定类型的查询创建复合索引,但我不知道哪些查询。
创建复合数据库索引时,应该影响字段顺序的是什么?创建复合数据库索引时的列顺序
例如,假设我根据日期,价格,成交量什么应该影响我是否创建
DATE, PRICE, VOLUME VOLUME, DATE, PRICE . . .
大概一个会更适合于特定类型的查询创建复合索引,但我不知道哪些查询。
如果您通过DATE
或DATE and PRICE
或DATE,PRICE,VOLUME
过滤(或搜索)记录,将使用第一个记录。如果您过滤记录,则不会使用它,例如VOLUME
。第二个将用于您搜索条件包括VOLUME
或VOLUME and DATE
或VOLUME,DATE,and PRICE
的查询。
更确切地说,当您在GROUP BY
和ORDER BY
中使用索引列时,也可以使用索引。
一些例子:
索引1(DATE,PRICE,VOLUME
)
索引2(VOLUME,DATE,PRICE
)
SELECT * FROM table1 WHERE `DATE` = '2011-10-01'; //Index 1 used, Index 2 not used
SELECT * FROM table1 WHERE `VOLUME` = '111'; //Index 1 not used, Index 2 used