【发布时间】:2011-01-22 22:12:06
【问题描述】:
有没有一种有效的方法来使用 MySQL (InnoDB) 索引 DECIMAL 列的符号?
我有一个条件为where amount > 0 的查询(反之亦然),我想知道是否有一种奇特的方法可以加快速度。就像索引字符串的第一个字符可以加快select distinct left(some_string_column, 1) 之类的查询一样。
【问题讨论】:
标签: mysql
有没有一种有效的方法来使用 MySQL (InnoDB) 索引 DECIMAL 列的符号?
我有一个条件为where amount > 0 的查询(反之亦然),我想知道是否有一种奇特的方法可以加快速度。就像索引字符串的第一个字符可以加快select distinct left(some_string_column, 1) 之类的查询一样。
【问题讨论】:
标签: mysql
索引 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;
【讨论】: