ホームページ >データベース >mysql チュートリアル >LIKE ステートメントと外部インデックスを使用して InnoDB テーブルに部分的な全文検索を実装するにはどうすればよいですか?
InnoDB テーブルの全文検索の最適化
InnoDB テーブルは優れたパフォーマンスと信頼性を提供しますが、ネイティブに全文検索機能がありません。ただし、LIKE ステートメントと外部インデックスの組み合わせを活用することで、部分的な全文検索機能を実現することは可能です。
解決策
次を使用して全文検索を模倣するには同様に、1 つのアプローチは、セカンダリ MyISAM テーブルをプライマリ InnoDB テーブルのインデックス層として利用することです。 「全文検索テーブル」と呼ばれるこのセカンダリ テーブルには、InnoDB テーブルからの目的の列のインデックス付きコピーが保存されます。
手順:
例:
検索可能にしたい「件名」列を含む InnoDB。同様のスキーマを使用して、MyISAM 全文検索テーブル「threads_ft」を作成します。同期を容易にするために、トリガーまたはバッチ更新を使用して、InnoDB "threads" テーブルから "threads_ft" への変更を反映します。
検索ストアド プロシージャ "ft_search_threads" は検索パラメーターを受け入れ、関連するスレッドを返します。検索テーブルを InnoDB テーブルと結合して追加のメタデータを取得し、「件名」列に対する LIKE 一致に基づいて結果をランク付けします。
利点:
考慮事項:
以上がLIKE ステートメントと外部インデックスを使用して InnoDB テーブルに部分的な全文検索を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。