Как создать очень много данных для тестирования?

Добрый вечер,

сразу о главном...

У меня есть 3 связанные таблицы, где есть 30 строк валидных данных.
Мне надо размножить эти связанные данные до к примеру 500 000 строк для тестирования.

Делаю жадной загрузкой и потом фором инсерт - выходит на 17 часов) Подскажите может есть более быстрый способ.

Спасибо.
  • Вопрос задан
  • 873 просмотра
Решения вопроса 1
@frmax Автор вопроса
человек
Лучше вссего использовать branchInsert и заполнение базы в один миг)
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@IceJOKER
Web/Android developer
До множественного инсерта отключаете ключи .
После включаете .

dev.mysql.com/doc/refman/5.7/en/alter-table.html

А для генерации данных рекомендую Faker
Ответ написан
qonand
@qonand
Software Engineer
используйте моменты описанные в статье, линк на которую дал un1t
но хотелось бы добавить что можно генерацию данных вынести за пределы php на уровень базы, это так же сэкономит время за счет отсутствия обмена данными между php и базой. К примеру вынести генерацию в хранимую процедуру:
CREATE PROCEDURE `make_data`()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i < 500000 DO
    <тут INSERT запрос>
    SET i = i + 1;
END WHILE;  
END


ну и соответственно вызвать ее в том же phpMyAdmin:
CALL make_data();

ну и не забывайте про множественный инсерт, он так же даст выигрыш во времени

P.S. на мой взгляд лучше использовать готовые утилиты для генерации данных
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы