MySQL データベース フィールド内のシリアル化された配列にデータを保存する場合、その中の特定の項目に基づいてレコードをクエリするときに問題が発生します。配列。次の質問は、この問題に対処することを目的としています:
シリアル化された配列フィールド内の指定された項目が指定された値と一致するテーブルからすべてのレコードを選択するにはどうすればよいですか?
このような方法でデータを保存することは、クエリの実行が困難であるため推奨されないことがよくありますが、特定の状況では依然として潜在的なオプションです。状況。目的のクエリを実行するには、次のアプローチを使用できます。
シリアル化された配列を文字列として扱うことができ、LIKE 句を使用して一致するレコードを検索できます。 PHP は予測可能なパターンを使用してデータをシリアル化するため、文字列内の各要素の長さを識別することができます。
ただし、この方法には制限があります。複雑なシリアル化された配列の場合、クエリが無効になる可能性があります。さらに、LIKE 句ではワイルドカード文字が使用されるため、インデックスの最適化が利用できず、パフォーマンスが低下します。
したがって、配列を含むデータをクエリするときに最適なパフォーマンスと柔軟性を得るには、データを正規化された形式で保存することを強くお勧めします。フォーム。
以上がシリアル化された配列フィールド内の特定の項目を含む MySQL レコードを選択する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。