jsonとクエリの速度を保存するのには限界がありますが、私はまだDBを設計するのに苦労しています。フォームデータをJSON形式で保存する
現在、私が保存されたデータは次のようになり欄にJSONとしてcontent
をCMS(入力を持つフォーム)からのデータを格納しています:
{
"heading": {
"value": "Taylor Francis"
},
"sub_heading": {
"value": "photographer \/ artist \/ designer"
},
"button_caption": {
"value": "View Work"
},
"button_link": {
"value": "/work"
},
"content": {
"value": "<p style=\"margin-top: 22px; margin-bottom: 22px; padding: 0px;\">A Brief History[...]"
}
}
このデータは、する必要がありますユーザーがページを更新するときにアクセスされ、解析されます。
ページを保存すると、キャッシュされたHTMLバージョンが作成されるので、表示するページを読むときにスピードが問題になるとは思わない。
私の質問は将来的にはさらに問題を作りますか?私は本当にこのデータや何かを検索する必要はありません。
私は単にそれをkey-> valueの "meta"テーブルに変換して、ページID上で結合する必要がありますか?
あるいは、その代わりに、私はすべての可能な入力のために列を追加することを考えてきました: 等
おかげ列、button_caption列をsub_heading、列見出し!
ありがとうございます!また、私はちょうどあなたの[EAV記事](http://mysql.rjweb.org/doc.php/eav)を読み終えました。キャッシングの背後にある私の推論は、json_decodingがJOINING eavテーブルよりもCPU使用率が高くなることが懸念されるためです。私はそれなしでちょうど行くべきですか? – Miro
学習経験として、あなたは両方の方法でそれを試すことができます。しかし、私の推測では、JSONの解析はJOINingよりも速くなるということです。 PHPでは、 'json_decode(...、TRUE)'と 'json_encode(...)'が好きで、パフォーマンスのボトルネックに気づいていません。 –