• ベストアンサー

データベース構造について

一ページに一つコメント機能をつけたいのですが、調べていると、 1.データベースは中身のデータを全て読み込んでから、データを抽出するので、レコードが多くなればなるほど読み込みが遅くなるのではないのでしょうか? 2.例えば、mysqlでページが100万ページでその一つ一つにコメント機能(コメントの最大1000件ほど)をつける場合、テーブルは別々(ぺーじ毎に)に作った方がよいのでしょうか?それとも、テーブル一つに全て書き込ませた方がよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

何かしらのサイトだと思いますが、レコード数は想定できる最大でしょうか? それだと、レコードの抽出時の速度よりも、サイトへのアクセス数がネックになると思います。 アクセス数が、1秒間に1回程度なら、サーバのスペック次第では問題にはならないと思いますが、1秒間に100アクセスを期待するのなら、それだけの回数のクエリが発生します。 データ容量が多くなっても、抽出時間はインデックスの作り方や抽出方法で減らすことが出来ます。 テーブルの構造は検索が単純になるようにするのは鉄則ですが、インデックスの作り方や検索項目やリレーション次第で速度は変わります。 項目が多い一つのテーブルよりは、リレーションをしっかりと考えて作ったテーブルの方が検索時間を早く出来ます。 しかし、書かれている条件では、テーブル構造ではなく、プログラムのテクニックが必要です。 キャッシュを使ったり、検索結果を保持しておいて、表示させるようにしたり、そういうテクニックが必要になってくると思います。

dhtfyjh
質問者

補足

1000(コメント(レコード))*100万(ページ)を想定しています。 https://www.value-server.com/spec/ こちらがスッペックです。中央ほどにあります。 >>しかし、書かれている条件では、テーブル構造ではなく、プログラムのテクニックが必要です。 書かれている条件って私のですか?

関連するQ&A