データを表示するために、MySQL DB で PHP スクリプトを実行するように依頼されたのですが、その設計が奇妙であることに気付きました。彼らは、ユーザーごとに最大 2000 レコードを収集する必要がある調査を実行したいと考えており、登録するユーザーごとに新しいテーブルを自動的に作成しています。この段階ではパイロット スタディなので、約 30 のテーブルがありますが、実際のスタディでは 3000 人のユーザーが必要です。
それらをすべて 1 つのテーブルにまとめることを提案したかったのですが、調査期間中にそのデータベースに対して 1 分あたり約 1500 回の INSERT が発生する可能性があるため、最初にここで質問したいと思いました。これにより、MySQL でテーブル ロックが発生しますか? つまり、1 分あたり 1500 回の INSERT で最大サイズが 6,000,000 レコードの 1 つのテーブルか、1 分あたり 30 回の INSERT で最大サイズが 2000 レコードの 3000 テーブルか。最初のオプションを提案したいと思いますが、問題が発生しないことを確認したいと思います. InnoDB には行レベルのロックがあると読みました。では、1 つのテーブル オプションと組み合わせると、パフォーマンスが向上しますか?