1

重複の可能性:
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 |
+----+-------------+--------------+------+---------------+------+---------+------+--------+-------------+

このようなクエリを最適化する方法はありますか?

4

0 に答える 0