0

私の目標は、ワイルドカードに一致するクエリを回避することです。これは、ワイルドカードを使用してプレフィックスに一致するクエリよりも 100 倍遅いためです。

単一の単語の場合は問題ありませんが、コンマで区切られた単語のリストがある場合はどうなりますか?

これらの単語を、ワイルドカードのみではなくプレフィックス (ワイルドカードが続く) で一致させる効率的な方法はありますか?

この場合、%word% のようなパターンの一致を避ける方法はありますか?

4

1 に答える 1

2

リストにインデックスがあることが前提です。それ以外の場合、 のパフォーマンスは、likeプレフィクス一致と非プレフィクス一致で 100 倍遅くなることはありません。はい、やや遅くなります。ただし、ほとんどの作業は、ページからデータを読み取る必要があります。

コンマで区切られた単語のリストがある場合、データ構造が間違っています。ID と各単語を含む新しいテーブルを導入する必要があります。

データを適切に正規化したら、クエリに適切なリレーショナル構造を使用してlike、テーブルの結合や要素の検索に使用する必要がなくなります。

于 2013-04-23T18:34:23.657 に答える