2

10 万行以下のテーブル。

SELECT word FROM entries WHERE word MATCH '"chicken *"';
17 results in 46ms
SELECT word FROM entries WHERE word MATCH '"chicken f*"';
2 results in 5793ms

なんでこんなに大幅下落?

4

1 に答える 1

2

「chicken*」のワイルドカードは、どのトークンとも一致するため、事実上無視できます。検索は、逆インデックスでの単純なルックアップです。

「chickenf*」のワイルドカードは、fで始まる単語を含むすべてのエントリを検索する必要があります。この単語には、chickenという単語も含まれています。当然のことながら、より複雑で低速です。

于 2010-06-20T22:39:25.053 に答える