JSON データを MySQL テーブル行に格納することは許容されますか? 配列を mysql データベースに保存する必要があります。問題は、各ユーザーに必要な列の数がわからないことです。そこで、JSON を例として名前array
を付けた 1 つの行に格納することを考えました。これが最善の方法ですか?
編集:
また、text
テーブルの列タイプとして使用しています。
はい、キー値ストアとしてmysqlを使用することは非常に良い考えです。実際、Facebookはいくつかの用途に使用します。
CREATE TABLE `json` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`data` blob NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
上記のテーブル構造はあなたを遠ざけるでしょう。シャーディングまたはクラスター化は非常に簡単です。
編集:ここでのポイントは、PHP、Rubyなどを使用してjson/dataを処理することです。あなたがしSELECT ...
、あなたの編集をし、そしてINSERT ... ON DUPLICATE KEY UPDATE ...
。
リレーショナル データベース フィールドに複数のデータを格納することは、一般的に間違っています。許容できるケースを考えることができますが、ユーザー全体を保存することはできません。
リレーショナル データベース構造を使用するだけでは不十分な場合は、MySQL の代わりに NoSQL データベースを検討することをお勧めします。
問題じゃない。mySQLは、テキストフィールド内のほとんどの角かっことファンキーな文字をすでに処理できます。
そうではないと思います。約4か月後、エンティティに新しい属性を追加するか、エンティティから一部の属性を削除することにしましたか?古いjsonコンテンツをどのように解析しますか?テーブルに必要な列の数がわからない場合は、別の方法で考え、user_columnテーブルを使用するような動的構造を作成する必要があります。