部分インデックスは、インデックスを小さくするのに役立ち、INSERT を高速化します。
例えば
CREATE TABLE wine (
name VARCHAR(100),
...
INDEX (name(8)));
名前は次のようなものですが、
シャトー・ムートン・ロートシルト シャトー・ムートン・カデ シャトー ペトリュス シャトー・ラフィット シャトー・ラフルール ...
この (例) リストでは、Chateau
常に表示されます。MySQL は最初の 8 文字に基づいてインデックスを作成します...つまり、インデックスには 1 つのエントリしかありません (Chateau Petrus
すべての の検索が順番に行われますChateau
)。
(まさにこの場合、最初の単語 ( Chateau
) と残りの名前を 2 つのフィールドに分割することは理にかなっていますが、これは重要ではありません)。
フィールドの終わりに基づいて部分インデックスを作成するように MySQL に依頼する方法はありますか?