0

私はコメントシステムを作成しています。ユーザーは作成されたメインページに詳細を入力してログインしますが、コメントが表示される2番目のページでは、作成された時間の順に各コメントを表示したいので、これはより良いでしょうコメントを保存するためにmysqlデータベースで実行されますか、それともコメントをファイルに入れてサーバー上のファイルから読み取ることによって実行されますか?

4

5 に答える 5

3

XML [別名「フラット ファイル」データベース] は単純さのために好ましいように見えるかもしれませんが、妥当な量のトラフィックを取得すると、パフォーマンスが途方もなく速く低下することがわかります。各ページのコメントを格納する個別の XML ファイルがあり、最新の 5 つのコメントを最初に表示したいとします。サーバーはファイル全体を最初から最後まで読み取らなければならず、どの 5 つのコメントが最後かを判断する必要があります。

何かに 10,000 件のコメントがあるとどうなりますか? 10,000 件のコメントと 1 秒あたりのページビュー数が 1000 件の投稿が 100 件ある場合はどうなるでしょうか? 基本的に、ディスクに非常に多くの I/O 負荷をかけているため、キューに入れられた I/O のために他のすべてが停止します。

mysql のような RDBMS のポイントは、情報がデータベースに格納されるときにインデックスが作成され、そのインデックスがメモリに保持されることです。このようにして、アプリケーションはリクエストが行われるたびにデータの 100% を再検査する必要がなくなります。mysql クエリは、インデックスを調べて、システムに必要な情報 (つまり、最後の 5 つのコメント)のみを取得させるように記述されています。

私を信じてください、私はホスティングプロバイダーで働いていましたが、このようなコードは常にさまざまな問題を引き起こしています。アプリケーションが停止したときに慌ててアプリケーションをやり直すのではなく、最初に正しく行うために少し余分な時間をとったことを後悔することはありません.

于 2012-10-23T16:27:27.033 に答える
0

間違いなくMySQLで。アクションは簡単で、トレーサビリティも容易です。

NoSQL ルートに行きたくない場合を除きます。

于 2012-10-23T15:25:23.357 に答える
0

コメントをデータベースに保存することをお勧めします。データベースを使用すると、さらに強力になります。より強力な言葉で、私はあなたがこれらを簡単に行うことができることを意味します:

  • 使用が削除された場合、彼のコメントを削除するかしないかを決定できます
  • 上位 10 件程度のコメントを表示できます
  • 他のページのユーザーからのすべてのコメントを表示できます
于 2012-10-23T15:25:40.360 に答える
0

その方法でデータにアクセスする方がはるかに簡単なデータベースをお勧めします。XML は、データを引き出すときにコードをレイアウトするときに常に苦労します。私はXMLの経験があまりないので、誰かからより詳細な説明を受ける価値があるかもしれません.

さらに、コメントのモデレートをより細かく制御できます。

それが役立つことを願っています!

于 2012-10-23T15:25:45.127 に答える
0

毎回MySQL!

これを行うのに最適で、非常に適しています/柔軟/強力です。

于 2012-10-23T15:26:04.817 に答える