2011-01-22 36 views
1

有沒有一種有效的方法來用MySQL(InnoDB)索引DECIMAL列的符號?MySQL十進制索引號

我有一個查詢條件where amount > 0(反之亦然),我想知道是否有一種奇特的方式,使其迅速。以索引字符串的第一個字符的相同方式可以加速查詢,如select distinct left(some_string_column, 1)

回答

1

將Decimal列索引將幫助MySQL返回結果,其中column > 0

CREATE INDEX signindex ON table(deccolumn); 

此外,爲了讓MySQL來有效地使用索引,避免where使用功能的,你可以添加一個新的列,具有預先計算的數據,索引新列

ALTER TABLE table ADD leftchar char(1); 
UPDATE table SET leftchar=left(some_string_column, 1); 
CREATE INDEX charindex ON table(leftchar); 
SELECT DISTINCT leftchar FROM table;