Меня попросили сделать несколько PHP-скриптов в базе данных MySQL, чтобы показать некоторые данные, когда я заметил, что у них странный дизайн. Они хотят провести исследование, для которого потребуется собрать до 2000 записей на каждого пользователя, и они автоматически создают новую таблицу для каждого регистрирующегося пользователя. На данном этапе это экспериментальное исследование, поэтому у них есть около 30 таблиц, но для реального исследования у них должно быть 3000 пользователей.
Я хотел предложить собрать их все в одной таблице, но, поскольку в течение периода исследования в эту базу данных может быть около 1500 INSERT в минуту, я хотел сначала задать этот вопрос здесь. Приведет ли это к блокировке таблиц в MySQL? Итак, это одна таблица с 1500 INSERT в минуту и максимальным размером 6 000 000 записей или 3000 таблиц с 30 INSERT в минуту и максимальным размером 2000 записей. Я хотел бы предложить первый вариант, но я хочу быть уверен, что это не вызовет никаких проблем. Я читал, что InnoDB имеет блокировки на уровне строк. Итак, будет ли это иметь лучшую производительность в сочетании с вариантом с одним столом?