Top >RDBで実装するN-Gram全文検索

4. 備考

4.1. 検索速度

 SQL の LIKE 演算子を使用して、任意の文字列パターンが含まれるレコードを検索するのと比較すると、かなり速く検索できます処理時間は、状況によって異なりますが、概ね数十分の一以下にはなるようです

 ただし、インデックスの文字数を1文字( 1-Gram )にすると、検索文字列によっては遅い場合があります実用には2文字以上にした方が良いでしょう

4.2. 問題点

 この方法の問題点は、インデックス・テーブルのサイズが大きいという事です

 よって、インデックスに関して次の事項を考慮しなければなりません

挿入、削除の処理時間

 挿入の処理時間と比較すると、削除に時間がかかるようです

 頻繁にレコードの更新があるようなシステムには向いていません

サイズの限界

 検索対象のデータに比べ、インデックスのデータが遥かに大きくなりますから、使用するデータベースでの限界値に留意しなければなりません

 インデックス・テーブルには、検索対象となるデータの文字数と、ほぼ同じレコード数が必要になります

     
PAPER BOWL
NEZEN