2012-01-02 4 views
0

いくつかのデータを挿入して独自のディスカッションフォーラムを作成できるフォームのページがあるとします。各フォーラムの中で、誰もが異なるスレッドやトピックを投稿することができます。htmlファイルを作成するか、データベースからコンテンツを動的に挿入しますか?

シナリオ1:

PHPを使用し、ユーザが自分自身のフォーラムを作成するたびに、新しいHTMLファイルを作成します。これは何百何千もの異なるHTMLファイルにつながります。

シナリオ2:

我々は唯一の内容は(それが「discussion1」、「discussion2」またはに応じて任意の他の議論の内容が表示されます受信したIDに応じて変化する1つのHTMLファイルを持っています変数ID)。これは、ただ1つのHTMLファイルを持つことを意味しますが、私たちのSQLサーバーには巨大なテーブルがあります。

非常に大きなウェブサイトの両方のシナリオの例を見てきました。たとえば、Wikipediaではシナリオ1を使用していますが、他のよりダイナミックなWebサイトではシナリオ2を使用していると考えています。各シナリオの主な賛否は&ですか?

私は賛否&最も重要な短所ともに関連するものを知っているのが大好きだ: - ブックマークを前提とするためにIDがある(ユーザーエクスペリエンス - SEO - サーバの応答時間&サーバーの負荷 - サイトのメンテナンス を

答えて

2

シナリオ2は確かに移動する方法です。ページを動的に維持すると、ファイルを編集する必要がなくなり、すべてが常に同じになることを意味します。

良いMySQLテーブルとリレーションシップを使用すると、データベースへのクエリが重いサーバーではなく、サイトが何百もの.htmlファイルよりも優れたパフォーマンスを発揮します。

シナリオ1を使用しているサイトでは、.htaccessを使用してURLを変更し、.htmlページのように見せます。

1

私は実際にはウィキペディアもデータベースを使用していると信じています。 URL内でクエリ文字列を使用する代わりに、URLを解析して変数を取得するだけです。そして、私はデータベースが行く方法だと信じなければならないでしょう。コードが少なくて済みますので、まだ小さくなっています。 HTMLを使用すると、再現する必要のない多くのコードを再現できます。

あなたがWikipediaのようなことを行い、おそらく.htaccessファイルであなたのURLを解析する限り、googleは賢明ではありません。あなたのコンテンツがハードコーディングされているかどうかは、あなたが正しく設定している限り重要ではありません。

1

最良のシナリオは、このように、両者の組み合わせのようになります。

のみを使用して1つのテンプレート(シナリオ2)その場でこれらのページを生成するために、あなたは、フォーラムの何百万人を持つことができるこの方法、 1つのhtml。 これにより、すべてのフォーラムをキャッシュ(一時的なhtmlファイルを作成)するキャッシュ機能を追加する必要があります。これにより、ユーザーは1回のページ訪問ごとにデータベースにアクセスする必要はなく、キャッシュされたHTMLをサーバーから取得できます。

関連する問題