使用LEFT()函数提高MySQL查询性能

时间:2012-10-15 10:38:51

标签: mysql query-optimization

  

可能重复:
  Is it possible to have function-based index in MySQL?

我有一个包含字符串字段 s 的表格,我想运行此查询:

SELECT * FROM mytable WHERE s = LEFT("färgkört", CHAR_LENGTH(s));

它的解释清楚地表明我没有在该字段上使用索引:

+----+-------------+--------------+------+---------------+------+---------+------+--------+-------------+
| id | select_type | table        | type | possible_keys | key  | key_len | ref  | rows   | Extra       |
+----+-------------+--------------+------+---------------+------+---------+------+--------+-------------+
|  1 | SIMPLE      | mytable      | ALL  | NULL          | NULL | NULL    | NULL | 766554 | Using where |
+----+-------------+--------------+------+---------------+------+---------+------+--------+-------------+

有没有办法优化像这样的查询?

0 个答案:

没有答案