- - PR -
MYSQL indexが使用されない
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-02-20 07:59
MYSQLでwhere句にlower関数を使用しているのですが
indexが使用されなくなり、クエリが遅くなってしまっています。 indexを使用してもらうようにするには、どうすればいいでしょうか。 SQL文自体はhibernateが自動作成しているので、SQLの修正ではなく MYSQLのパラメータでチューニングしたいと考えています。 InnoDBエンジンを採用しています。(これもMyISAM等に変えるの考えておりません。) |
|
投稿日時: 2008-02-20 16:11
テーブルに検索用の列を追加して、insert,updateトリガでlower関数値をセットして、
検索時にはその列を指定するぐらいしか思いつきません。 Oracleだとファンクション索引使えるんですが。 |
|
投稿日時: 2008-02-21 01:44
いろいろ考えていただきありがとうございます。
確かにOracleだと大丈夫ですよね。 しばらくパラメータをいじってみたいと思います。 クエリを修正できないのはとてもつらいですね。 |
1