10bet网址
MySQL5.6版本リファレンスマニュアル
下载本手册

12.9.5 全文制限

  • 全文検索は、InnoDB公司および密萨姆テーブルでのみサポートされています。InnoDB公司テーブルで全文インデックスがサポートされるようにするには、MySQL5.6.4版本以上が必要です。

  • パーティション化されたテーブルでは、全文検索がサポートされていません。セクション19.6「パーティショニングの制約と制限」を参照してください。

  • 全文検索は、ほとんどのマルチバイト文字セットで使用できます。例外として、Unicode码では、utf8型文字セットは使用できますが、ucs2型文字セットは使用できません。ucs2型カラム上では全文インデックスを使用できませんが、このようなインデックスが含まれないucs2型上で在布尔模式下検索を実行することはできます。

    utf8型に関する備考はutf8mb4接口にも適用され、ucs2型に関する備考はutf16型utf16le公司、およびutf32型にも適用されます。

  • 中国語や日本語のような表意文字を使用する言語には、単語の区切り文字がありません。したがって、全文パーサーでは、このような言語で単語の初めと終わりを特定できません。この意味および問題の一部の回避策については、セクション12.9「全文検索関数」で説明されています。

  • 単一テーブル内で複数の文字セットを使用することはサポートされていますが、全文インデックス内のすべてのカラムで同じ文字セットおよび照合順序が使用される必要があります。

  • 匹配()カラムリストは、この匹配()密萨姆テーブル上の在布尔模式下である場合を除いて、テーブルの一部の全文インデックス定義に含まれるカラムリストに完全に一致する必要があります。密萨姆テーブルでは、インデックスが付いていないカラムでもブールモード検索を実行できます。ただし、検索が遅くなる可能性があります。

  • 反对()への引数は、クエリー評価時に定数である文字列値にする必要があります。たとえば、テーブルカラムは、行ごとに異なる可能性があるため除外されます。

  • 全文以外の検索の場合よりも全文検索の場合の方が、インデックスヒントに対する制限が多くなります。セクション13.2.9.3「インデックスヒントの構文」を参照してください。

  • InnoDB公司では、全文インデックスを含むカラムを必要とするすべての DML公司演算子 (插入更新删除) は、トランザクションのコミット時に処理されます。たとえば、插入演算では、挿入された文字列がトークン化され、個々の単語に分解されます。その後、個々の単語は、トランザクションのコミット時に全文インデックステーブルに追加されます。その結果、全文検索ではコミットされたデータのみが返されます。