次の内容を含む行をデータベースで検索する必要がある状況特定の列内のキーワード「foo」および「bar」の場合、MATCH AGAINST または のように。しかし、どちらがより良い選択なのでしょうか?
MATCH AGAINST は、MyISAM テーブルと併用すると、高速検索にフルテキスト インデックスを活用するため、パフォーマンスに大きな利点をもたらします。対照的に、LIKE はテーブル全体のスキャンを実行しますが、テーブル内の行数が増加するにつれて非効率になります
ただし、LIKE は「xxfoo」などの部分一致を検出できるため、キーワード検出において利点があります。一方、MATCH AGAINST では完全な単語の一致が必要です。この機能が重要な場合は、パフォーマンスを犠牲にしてでも LIKE を検討する必要があるかもしれません。
MySQL 5.6 以降の場合、InnoDB テーブルは MATCH AGAINST もサポートしており、両方に対処するより包括的なソリューションを提供します。パフォーマンスとキーワード マッチング機能。
したがって、適切な選択は、特定の要件とデータベース環境によって異なります。 MySQL 5.6 以降の MyISAM テーブルまたは InnoDB テーブルで最適なパフォーマンスを得るには、一般的に MATCH AGAINST がより良いオプションです。ただし、部分的なキーワード検出が必要な場合は、大規模なデータセットではパフォーマンスに影響を与える可能性がありますが、LIKE が依然として実行可能な選択肢となる可能性があります。
以上がMATCH AGAINST または LIKE: MySQL でのキーワード検索にはどちらが最適ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。