• ベストアンサー

データベース数 or テーブル数

こんにちは。よろしくお願いします。 ただいまデータベース連動型のCMSを利用しているのですが、1サイトあたり100テーブルほど利用します。 1000サイトのデータベースを 1、1000データベース作成して管理 2、データベースに1000×100テーブル作成して管理 のどちらで管理した方がサーバーに負担が少ないでしょうか? データベース数とテーブル数に限りはなかったと思うので、負担が少ない方で対応しようかと思ってます。 **現在、2の方法で行っているのですが、 phpMyAdminでデータベースを表示する際に、すごく時間がかかります・・・

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

  • ベストアンサー
  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.1

サイト間で交互になにか連携するデータや共有するテーブルやレコードが存在するのでしょうか? 1サイト内で完結する構造ならば1サイトに1データベース作るべきです もし、サイト間で共有するデータやテーブル、レコードがあるならば、共有部分のみを1データベース作って、そこに突っ込む そのサイト固有の情報はそのサイト用に1データベースを作っておく サイトA->データベースA、データベースZを参照する サイトB->データベースB、データベースZを参照する サイトC->データベースC、データベースZを参照する データベースA  サイトA固有の情報 データベースB  サイトB固有の情報 データベースC  サイトC固有の情報 データベースZ  サイトA~C共通の情報 って感じかなぁ phpMyAdminはご存知のよにPHPで全てを管理しています、どんなテーブル構造やフィールド設計されても対応するように作られてますので大きくなれば大きくなるほど、負荷がかかります。 MySQLへ負荷がかかっているのではなく、PHP部分が重いだけです 大抵の場合はデータベースの負荷が原因というよりも効率の悪いスクリプトやプログラムやSQL文による負荷が大きいとおもいますよ

syamo2
質問者

お礼

サイトAがサイトB、サイトCなど他のサイトのデータベースを変更する仕様となってましたので、ひとつのデータベースで管理する方がスクリプトが楽だったので、2の方法で行ってきました。 サイト数が10を超えテーブルが1000を超えると、ついにphpmyadminでは、データベースを読み込む際にブラウザがタイムアウトしてしまうようになってしまいました・・・ なので、inu2さんのおっしゃるように1サイト1データベースの構造に変更したいと思います。 ありがとうございました。

関連するQ&A