ユーザーが特定のプロファイルを作成できる Web サイトを作成しています。現時点で、すでに約 662000 のプロファイルがあります (データベースのレコード)。ユーザーは特定のキーワード (5 つのカテゴリに分けられます) を自分のプロフィールにリンクできます。カテゴリごとに最大約 1250 のキーワードをリンクできます (いいえ、これはナンセンスではありません。特定のプロファイルでは、これは実際に理にかなっています)。現時点では、これらのキーワードを配列に保存し、シリアル化された配列をデータベース内のプロファイルのレコードに挿入します。
別のユーザーが検索機能を使用してキーワードの 1 つを検索すると、「WHERE キーワード LIKE %keyword%」で SQL クエリが実行されます。これは、かなり多数のレコードに移動し、各レコードのシリアル化された配列全体を通過する必要があることを意味します。キーワード列には最大長が定義されていないため (これは 22000 文字以上になる可能性があります!)、キーワード列にインデックスを追加するのは非常に注意が必要です。
これについてもっと賢明で実用的な方法は他にありますか?
ありがとう!