1

何かで始まり何かで終わるいくつかの文字列についてデータベースをクエリする際にパフォーマンスの違いはありますか?

SELECT * FROM table WHERE column like '%something'
SELECT * FROM table WHERE column like 'something%'

別のアプローチではなく、あるアプローチを選択することの欠点はありますか? 単語の開始または終了を一致させる必要があるユーザーを無視する。
それが実装されている方法は、アルゴリズムが何らかの方法で異なる可能性がありますか?

4

4 に答える 4

3

追加のメモとして、本当にサポートする必要がある場合は %something.

文字列を逆にした新しい列を追加してから、列の逆にインデックスを作成すると、次のようになります。gnihtemos

ここで、最初にワイルドカードを検出した場合は、検索文字列を逆にして、プライマリ列ではなく逆列を検索します。リバース列の同期を維持するための追加のコードを犠牲にして、インデックスの速度の利点を得ることができます...

于 2013-08-28T22:55:46.373 に答える