0

私の同僚の 1 人は、クライアントごとに異なるデータベース (MySQL) を作成するべきだと提案しました。そうすれば、1 つのアカウントが侵害された場合でも、1 つのデータベースのバックアップを復元するだけで済みます。データへの高速アクセスが心配ですが、どちらが高速ですか? 何千ものデータベースからデータベースを選択したり、単一のデータベースのテーブルで何千ものエントリを見つけたりしますか? また、速度と信頼性の面で便利なのは、大規模なデータベースをバックアップする場合と、多数の小さなデータベースをバックアップする場合です。また、テーブル内の 1 つのエントリのみをバックアップする方法はありますか? また、ある場合、多数の小さなデータベースまたは大きなデータベースをバックアップするよりも優れていますか?

私が使用しているシステムは、PHP/MySQL と jQuery (Javascript と AJAX) に基づいています。

4

1 に答える 1

1

クライアントごとに異なるデータベースを使用することは間違いありません。別のデータベースを使用すると、結合されたテーブル スキーマからレコードをクエリするよりもはるかに高速であり、より安全です (データベースごとに異なるアカウントを使用する場合)。

データベースエンジン、MYISAMまたはINNODBなどに応じて、バックアップ戦略も異なります。たとえば、MYISAM はテーブル レベルのロックであり、すべてが同じテーブルを使用している場合は非常に遅くなります。

MYISAM テーブルを使用する場合、バックアップ戦略とデータベース エンジンに応じて、オンザフライ バックアップにmysqldumpまたはmysqlhotcopyを使用できます。

于 2010-07-27T08:12:02.643 に答える