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

**現在、2の方法で行っているのですが、
phpMyAdminでデータベースを表示する際に、すごく時間がかかります・・・

このQ&Aに関連する最新のQ&A

A 回答 (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文による負荷が大きいとおもいますよ
    • good
    • 0
この回答へのお礼

サイトAがサイトB、サイトCなど他のサイトのデータベースを変更する仕様となってましたので、ひとつのデータベースで管理する方がスクリプトが楽だったので、2の方法で行ってきました。

サイト数が10を超えテーブルが1000を超えると、ついにphpmyadminでは、データベースを読み込む際にブラウザがタイムアウトしてしまうようになってしまいました・・・
なので、inu2さんのおっしゃるように1サイト1データベースの構造に変更したいと思います。
ありがとうございました。

お礼日時:2005/04/27 15:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcelとPowerPointをVBAで連携させる方法

おけましておめでとうございます。
本年もよろしくお願いします。
で、本題ですが、
(Win95でExcel2000とPowerPoint2000を使用)
EXCELのデータベースの表を順々にPowerPointのテキストボックスへ
コピーして印刷するためにVBAを作成したいと思ってます。
(印刷形式がPowerPointのため)
ここには作成できるんですが、両者のVBAをどのように
連携させるかわかりません。
よろしくご教授ください。

また、PowerPointのVBAでマクロの記録を使わず、オブジェクト名
(("Text Box 1")とか)を知る方法もあわせてよろしくご教授ください。

Aベストアンサー

>オブジェクト名はVBAを使わずにパワーポイント上だけでは確認しようが無いと言うことでしょうか。

絶対できないとまでは断言できる自信はないのですが、少なくともその方法は知りません。

オブジェクト名はVBAを使えば変更することはできます。
Application.ActiveWindow.Selection.SlideRange.Shapes.Item(1).Name = "New Name 1"

だだ、この設定した名称が勝手に変更されることはないのかどうか自信がありません。少なくとも自動的に生成した「オブジェクト名」は勝手に変更されてしまいます。

QphpMyAdminで、データベースを設置する流れについて

phpMyAdminを、使用してMySQLの操作をし、
サイト上のデータベースとリンクさせたいです。
しかしながら、phpMyAdminの利用方法が、いまいち、
分かりません。

1)
http://○○○/phpmyadmin/にアクセスをして、
「新しいDBを作成します。」から
新規DBを作成。(例:個人情報という名前を付与。
フィールド欄には、”5”と記入。)

2)テキストフィールド欄に、

・名前
・住所
・メール
・電話
・性別

と記入して、完了後、「保存する。」で、データ保存


3)ここから、先が、まったく分かりませんので、
教えて下さい。

画面には、「PHPコードの作成」欄があります。
おそらく、ソースを、○○○.php などの
ファイルへ添付して、アップすると思うのですが・・・

Aベストアンサー

何がしたいのかがわかりません。

>サイト上のデータベースとリンクさせたいです

と言うことは、すでにデータベースが作成されていると言うことではないのですか?
その場合はIDとパスワード、サーバなどを入れれば繋がると思いますが。

ただ単にデータベースを見たいのですか?
他のこと(掲示板等)に利用したいのですか?
PHP等はすでに作成しているんですよね?

QMicrosoftのAccessとPowerPointって何ですか?

以前、OFFICE XPを購入してインストールしたのですが、
AccessとPowerPointというのがありますよね。
この2つは何にどう使うのでしょうか?

説明なども読んでみましたし、Microsoftの
サイトも見てみましたが、「で、結局どんな用途があるの?」と
悩んでしまって理解できません。
特にAccessはExcelとどう違うのか全くわかりません。
(データベースがうんぬんと書かれてありますが、“データベース”の
意味もよくわかっていないのです)

どうせあるなら、色々使ってみたいと思うのですが
果たしてどのように使うのか…面白そうなら一から
勉強してみたいのです。

Wordはワープロ・Excelは表計算・Outlookはメールとスケジュール管理、
ぐらいの理解度しかない、ど素人の私にわかりやすく
教えていただけないでしょうか?
宜しくお願い致します。

Aベストアンサー

私は会社員ですが、AccessとPowerPointは会社で良く使っています。

Access:
会社では、大量なデータを効率良く管理したり分析したりするのに使用しています。(在庫管理とか)
色々なデータを関連付けて検索したり集計したりできるのですが、大量データでないと(何百件とか)、Accessとしての有難味は薄いでしょう。
私も家で住所録とかに使ってみましたが、結局、Excelとか住所管理ソフトになってしまいました。

PowerPoint:
会社では会議や発表の時、資料をPowerPointで作りパソコンに接続したプロジェクタからスクリーンに映し出しています。
ちょっと前までは、ワープロで資料を作りOHPにしていましたが、PowerPointを使うようになってからは、手直しは楽だし、カラーは簡単に使えるし、アニメーションの様な理解してもらうのに大変有効な手段も使えるようになり、重宝しています。
家では使っていませんが。

Q画像データをデータベースで管理するのがめんどくさい

データ自体ではなくてファイルのパスをデータベースで管理したほうが
楽なのですが、パフォーマンス的にどうなのでしょうか?
別にちゃんとした商用サイトを作るわけではありません。
何十万件もの画像を扱うサイトでは画像ファイルをデータベースで管理しているのですか?

Aベストアンサー

画像自体はDBに格納せず、パスのみを格納するということは、よく行われていることです。

画像自体をDBに格納するメリットとしては、下記のようなものがあります。

(1)バックアップ、リカバーなどを一元管理で行える。
(2)アクセス権限の管理を、一元化できる。
(3)トランザクションの利用により、関連するデータの整合性を保証できる。
(4)DBには管理情報が付加されたり、物理的に分割格納されるので、RDBMS経由でないと中身を見ても分からない。

SQLで操作する場合には排他制御など様々な処理が行われるため、単純なデータファイルの入出力であれば、OSのファイルシステムを直接使用した方が性能的には出せるでしょう。ただし、上述のDBに格納することのメリットがなくなり、デメリットになる点には注意してください。

Qバージョン違いのPowerPointテンプレート

PowerPoint2010で制作したスライドをPowerPoint2003で開きたいと思っています。

現状:
・それぞれのPowerPointは違うパソコンに入っています。
・製作したスライドのデザインにはPowerPoint2010のテンプレートを使用しています。
・MicroSoftよりバージョンの互換性の問題を解決するソフトが配布されてはいますが、そのソフトを使用できない環境にあります。

そこで質問があります。
MicroSoftから配布されているソフトをインストールすることなくPowerPoint2010で制作した、しかもそのテンプレートを使用したスライドをPowerPoint2003で開くにはどうすればよいでしょうか?
テンプレートファイルをスライドとともにPowerPoint2003が入っているPCにコピーして、PowerPoint2003でそのテンプレートを取り入れればよいのでしょうか?

Aベストアンサー

PowerPoint 2010の名前を付けて保存で、ファイルの種類を PowerPoint 97-2003 テンプレートで保存したものを、PowerPoint 2003が入っている他のパソコンのテンプレートフォルダに追加コピーしてはどうでしょうか。

Qデータベース テーブル設計について

テーブル作成について勉強しています。
将来、フィールドが増えてもいいようにテーブルをつくるには、
どのように作るべきでしょうか。

例えばですが、現時点で必要なフィールドは2つだけ(id,name)ですが、
今後、5つぐらいフィールドが増えても問題ないようにしたいです。

ご教授いただけませんでしょうか。

宜しお願い致します。

Aベストアンサー

名前が決まるまで事前に用意しておく必要はありませんので、最初はidとnameだけで十分です。

QPowerPointについて

プレゼンand研修会でMS PowerPointを使用することになりました。研修発表は友人と行います。
資料は、私はPowerPoint2003、友人はPowerPoint2000を用いています。そこで1台のPCにPoworPoint2003とPowerPoint200を入れ、そのPCで2人の研修発表を行おうとしたのですが、全てPowerPoint2003で起動されます。その為か友人の資料が、若干のズレが発生しました。1台のPCで片方をPowerPoint2003、もう片方をPowerPoint2000で起動させる方法は何かありますでしょうか?ご教授願います。

Aベストアンサー

1)PowerPoint2000を起動してからファイルメニューで開く
2)マイコンピュータなどでファイル名で右クリックして「プログラムから開く」を選び、「プログラムの選択」をクリックし、アプリケーションの格納されているフォルダを参照してプログラムを選ぶ

Qデータベースとテーブルを作成する基準について

独学でMySQLを勉強しているのですが、さまざまな種類のデータが大量にある場合、どのような基準でデータベースやテーブルを分けるのでしょうか?

例えばOKWaveの場合、ユーザーデータを入れるDBとQ&AをいれるDBをわけるのか、それともひとつのDBに別のテーブルとしていれるのか。
掲示板の場合、一つのスレッドでテーブルを一つ作るのか、それとも全てのスレッドを一つのテーブルにいれインデックスをつけて使うのか。

これらのことが使いやすさや拡張性の問題であるのか、速度などに関係するのかわかりません。
データの種類や構成で一概に言えることではないかもしれませんが何か基準を知りたいのでよろしくお願いします。

Aベストアンサー

「データモデリング」というキーワードで検索すると色々出てきますよ。
初心者向けの本とかも結構出てるので読んでみては如何でしょうか。

QPowerPointがPCに入ってない!!

こんにちは

早速ですけど,私のPCにはPowerPointが入ってないですo
他のMicrosoftのWordやExcelは元から入ってたのですが
何故かPowerPointだけ入ってなかったのですo

私は今学生でプレゼンテーションなどをする為PowerPointが必要なんですo
なのでMicrosoftのホームページに行ったのですが,
ダウンロードの所を見てもテンプレートやViewerだったりして,編集ができるのを
見つけられませんでしたo
PowerPoint自体をダウンロードするのにはやはりお金がかかるのでしょうか?

作ったPowerPointを先生に提出したりするので,
MicrosoftPowerPoint以外のプレゼンテーション用の機能のは駄目なんですo

古いバージョンでも何でも良いんでPowerPointを編集できるのを
無料でダウンロードできないですかね?

自分のPCにPowerPointが入ってないって本当に驚きましたo
提出期限前になんとかなって欲しいです....o

Aベストアンサー

補足します。OpenOfficeを挙げている
人が私を含め何人かいて互換性が
あるといっていますが、実際は
出力は.pptにしてPowerPointで
みても形が崩れたりします。
なので完全互換ではないです。

ちなみに、書き込む内容が単純な絵ほど
互換率は高いです。

OpenOfficeで作っておいて
学校のPowerPointで微調整するのが
よろしいかと思います。

Qデータベース上の全てのテーブルに対するクエリ

mySQLでデータベース内の全てのテーブルに対するクエリーに関して質問があります(mySQL 5.5)。

仮に 「ichinensei」というデータベースにテーブル「1_kumi」「2_kumi」「3_kumi」 .....と複数のテーブルがあるとします。
テーブルは全て同じデータ形式で仮に
name (char) | weight (int)
という名前と体重の情報が登録されているとします。

やりたいことは全てのテーブルに対しweightを検索キーとして該当するレコードのnameをとってくる、という操作です。

weight(体重)が41,42,43,50,51であるレコードの名前を列挙するためには
SELECT name FROM (全てのテーブル) WHERE weight IN (41,42,43,50,51)
上記のようなクエリ文が考えられますが(全てのテーブル)に対する検索を1文で済ます方法が分かりません。
実際の作業ではテーブル数が数十個なのでなるべくunionなどを使ってテーブルの数分クエリ文を書くというのは避けたいと考えています。

このような場合どのようなクエリ文が使えるのでしょうか?

mySQLでデータベース内の全てのテーブルに対するクエリーに関して質問があります(mySQL 5.5)。

仮に 「ichinensei」というデータベースにテーブル「1_kumi」「2_kumi」「3_kumi」 .....と複数のテーブルがあるとします。
テーブルは全て同じデータ形式で仮に
name (char) | weight (int)
という名前と体重の情報が登録されているとします。

やりたいことは全てのテーブルに対しweightを検索キーとして該当するレコードのnameをとってくる、という操作です。

weight(体重)が41,42,43,50,51であるレコードの...続きを読む

Aベストアンサー

>>簡単にでもどういうふうに書けるか例を示していただけるとありがたいのですが。。。

んー。
じゃあこのあたりで。。。?

http://www.dbonline.jp/mysql/view/
http://dev.mysql.com/doc/refman/5.1/ja/create-view.html

作成したビューの中で、unionですべてくっつけておいてやれば、
そのビューに対してselectかけるだけで、全テーブルに対してselectを行ったことと一緒。に出来るようになりますね。

あんまりにもややこしいビューを作ろうとすると制約に引っかかったりとかしますが、今回のような内容ならば問題ないでしょう。


人気Q&Aランキング