MySQL 5.7では**「生成カラム」という機能が追加されました。 Oracleでいうところの「仮想列」**に相当する機能です。 JSONデータ型の処理に関連して言及されることが多い機能ですが、もちろん、JSONデータ型以外で汎用的に使うこともできます。 ここでは、生成カラムを使って、関数インデックスを作ってみます。 生成カラム(generated column)とは あるカラムの値を元に、関数・式などで自動的に計算した結果を取り出すことができるカラムのことです。 生成カラムには、**実データを保持しないもの(VIRTUAL)と保持するもの(STORED)**の2種類がありますが、ここでは前者を扱います。 一種の導出属性にあたるため、正規化理論上は問題がありそうな感じがしますが、RDBMS自身が値を計算してくれるため、少なくとも更新時異状を心配する必要はありません。 [参考情報] 詳解M