0

私はネット全体を調べて、さまざまな答えを見つけましたが、いくつかの具体的な質問がありました。

私は約5400人のアクティブなメンバーがいるサイトを持っています。10個のMySQLデータベースがあり、1つのデータベースには「users」テーブルと「User_stats」テーブルが含まれています。次のデータベースには、ブログやステータスの更新などのために、「写真」や「写真コメント」などが含まれています。各データベースには、約4〜5個のテーブルがあります。最大のテーブルには約250,000行あると思います。

数年前、共有ホストの制限に達していたため、それらを異なるデータベースに分割しました。私は今仮想サーバーを持っているので、これらの制限はありません。

コードがページに読み込まれるときに、MySQL接続を開く、閉じる、別のデータベースで開く、閉じるなどの方がよいのではないか、またはすべてのテーブルを1つのデータベースに入れると開くのではないかと考えていました。ページの最初で接続し、下部で接続を閉じます。

プロファイルページをロードすると、写真、最近のブログエントリ、ユーザーデータなどが表示されるため、ページの最後までに10個のデータベースすべてに接続される場合があります。

スケールアップが心配で、すべてを1つのデータベースにまとめれば、多くの接続を開いたり閉じたりするよりも負担が少なくなると思いました。

あなたの考えは何ですか?

4

1 に答える 1

0

すべてのデータベースが同じMySqlインスタンス内でホストされている限り、単一のクライアント接続で任意またはすべてのデータベースにクエリを実行できます。

例:

/*Query #1*/
SELECT FirstName, LastName
FROM userdb.users
WHERE UserID = ?

/*Query #2*/
SELECT PhotoName, Height, Width
FROM photodb.photos
WHERE PhotoID = ?

すべてのデータベースの接続を閉じて再度開くことは、進むべき道ではありません。

于 2012-07-17T18:05:14.820 に答える