-1

私は POST 登録システムに取り組んでいます。サイトに送信されるすべての投稿リクエストと、ユーザーが投稿したすべてのもの (つまり $_POST 配列) を記録する必要があります。

これを行うには2つの方法があります。

正しい方法 -registerPostInfo配列のすべての要素が新しいレコードとして挿入されるポスト情報用の別のテーブルを用意します。

間違った方法 - 'd post 配列registerPostを保持する追加の列をテーブルに作成します。json_encode()

アドバイスを求めているのは、「間違っている」と見なされるかもしれませんが、正直なところ、このテーブルは狂ったようにあふれてしまうため、2 番目の解決策の方がよいと思うからです。ローカル サーバーで 1 か月のテスト期間に 2000 のレコードをすべて自分で作成しました。最初の解決策に進むとしたら、ポスト配列に平均 5 つの要素があるとします。これは、10000 になることを意味します。registerPostInfoテーブル内のレコード。何千人もの人々がいると想像してみてください..私の問題に関する有用な情報と、おそらく私が思いもよらなかった第3の方法を喜んで提供します.

前もって感謝します!

4

1 に答える 1

1

投稿されたすべてのデータを「記録」することの実際の目的が何であるかによって異なります。これを一種のログとして使用して、後でユーザーが投稿していたものが悪意のあるものや望ましくないものであることが判明した場合に再構築できるようにする場合は、JSON として保存するか、単一の列にシリアル化することで問題ありません。 ; 一方、ある時点でそのデータを一般的に処理したい場合、特定のパラメーター名/値を検索することさえある場合は、単一の parameter_name|value レコードとして保存し、それぞれの ID ですべて結び付けたほうがよい場合があります。単一の POST リクエストが行われました。

したがって、主な目的がそのデータを実際に継続的に処理することではなく、必要なときに「分析」することだけである場合は、シリアル化されたデータを使用します。投稿時またはユーザー ID によってデータベースから選択するのは簡単です。その後、シリアル化解除の部分はスクリプトで実行できます。そして、二次的な用途として、ユーザーが作成したコンテンツの種類をユーザーに示します。つまり、そのコンテンツを実際に保持するテーブルから取得できるはずです。

于 2013-09-22T22:09:07.507 に答える