MySQLでは、関数インデックスが使えません。そこで擬似的に関数(式)インデックスを作ってみることにしましょう。ユーザテーブルでメールアドレスを小文字にした時の関数インデックスを作る場合を例としてみます。メールアドレスをユニークにしたものの、大文字・小文字を区別するプロバイダが有る為にオリジナルなメールアドレスはそのまま取っておき、検索時はLower(小文字化)して検索する。そうするとインデックスが効かなくて大弱りという有りがちな事例ですね。 例によってテーブル定義とかサンプルデータ準備 CREATE TABLE `user` ( `user_id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'ユーザID', `email` VARCHAR( 255 ) binary NOT NULL COMMENT 'メールアドレス', UNIQUE