MySQL では、次のような検索を実行します。
SELECT * FROM people WHERE surname LIKE '%ton';
LIKE の対象となる列がインデックス化されている場合でも、低速です。これを高速化するためのテクニックはありますか?
私が考えることができる最良のアイデアは次のとおりです。
問題の列を逆にして、新しい列を作成します。つまり、ワシントン => notgnihsaW AND Jefferson => nosreffeJ
LIKE '%ton' 検索を実行する場合は、接尾辞を逆にします (例: ton > not)。次に、新しい列で LIKE 'not%' 検索を実行します。
これは単純な解決策ですが、新しいデータを追加するたびに反転列を再コンパイルする必要があります。