1

MySQLデータベースをセットアップしていますが、それを構造化するための最良の方法がわかりません。

私は、数百人がデータベースに対してSELECT / UPDATE / SET / DELETEクエリを実行するシステム(PHP / MySQLベース)をセットアップしています(おそらく同時に約50人)。すべて同じデータベースとテーブルを使用している場合、数千行になると思います。データを複数のテーブルに分割することもできますが、それらがすべて均一であることを確認する必要があります。また、管理者として、cronを介してSELECT DISTINCTクエリを実行し、管理インターフェイスを更新します。

これにアプローチするための最良の方法は何ですか?全員が1つのデータベースを共有することはできますか?1つのテーブル?数千行あると問題になりますか?時間の経過とともに大きなパフォーマンスの問題が発生するだろうと思います。

ヒントや提案は大歓迎です!

4

1 に答える 1

3

サーバーが十分に強力である限り、MySQL/phpはこれを簡単に処理できます。MySQLはRAMが大好きで、可能な限り(指定した制限内で)使用します。

多数の同時ユーザーがいる場合は、MyISAM(MySQLバージョン<5.5のデフォルト)の代わりにinnodbテーブルを使用することを検討することをお勧めします。Innodbは、MyISAMのようにテーブル全体をロックするのではなく、INSERT / UPDATE/DELETEなどを実行するときに個々の行をロックします。

私たちはphp/MySQLを使用しており、同時に1000人以上のユーザーがサイトにいます(マスターデータベースサーバーは1秒あたり約4kのクエリを実行します)。

于 2012-05-02T04:59:43.060 に答える