いいえ、一般的な意味ではありませんが、5.6(この回答が最初に書かれたときの最新バージョン)でさえこの機能を備えているとは思いません。 8.0.13以降では、機能インデックス 、以下で説明するトリガー方法なしで必要なことを達成できます。
古いバージョンのmysql
を実行している場合 、それは リーディングのみを使用できます 列の一部(この機能は長い間使用されてきました)が、2番目以降の文字で始まるもの、またはその他のより複雑な関数ではありません。
たとえば、次の例では、名前の最初の5文字を使用してインデックスを作成します。
create index name_first_five on cust_table (name(5));
より複雑な表現の場合は、別のを使用することで、同様の効果を得ることができます。 インデックス可能なデータを含む列に挿入/更新トリガーを使用して、データが正しく入力されていることを確認します。
冗長データのための無駄なスペースを除けば、それはほとんど同じことです。
また、技術的には3NFに違反しますが、トリガーを使用してデータの同期を維持することで軽減されます(これは、パフォーマンスを向上させるためによく行われることです)。