私はいくつかのphp/mysql作業を行っており、何がより効率的で、どの方法がより良いデータ整合性を持っているのか疑問に思い始めました。
方法 2 を使用したことはありませんが、CMS や e コマースなどのシステムで使用されているのを見たことがあります。私は定期的に#1を使用しています。
例: システムで「タスク」を作成する場合、1 人または複数のユーザーを割り当てる必要があります。
方法 #1 この方法では、task_id と user_id の両方を格納するテーブルを作成します。このテーブルにクエリを実行して関係を取得します。
方法 #2 この方法では、タスク テーブル「users_assigned」に列があり、必要に応じてシリアル化を解除するシリアル化された配列が格納されます。例えば
$data = array('John', 'Jack', 'Jill');
// after serialization it would look like...
// a:3:{i:0;s:4:"John";i:1;s:4:"Jack";i:2;s:4:"Jill";}
この種のデータをデータベースに格納するには、どの方法が最適ですか?