2012-05-04 3 views
0

У меня есть база данных MySQL, которую я бы хотел проверить. Я хочу вставить приблизительно 5 миллионов записей в таблицу с помощью автоматического прироста первичного ключа. Есть ли простой способ сделать это быстро с помощью SQL? Я знаю, что могу писать в файле .sql, но все, что я действительно хочу сделать, это вставить те же идентичные данные (но с другим PK) - 5 миллионов раз.SQL для вставки миллионов фиктивных записей в базу данных MySQL

ответ

2

Вы можете вставить NULL в качестве значения PK или просто не указывать его в списке столбцов в инструкции insert. Таким образом, он автоматически увеличивается.

for ($i=0; $i<5000000; $i++) { 
    "INSERT INTO table (id,name) values (NULL,'somename')"; // obviously in form of $dbh->() something 
} 
+0

Это не говорит мне, как я бы сделал это 5 миллионов раз, хотя. –

+0

В этом смысл? –

1

Это не может быть хорошим тестом производительности, поскольку одинаковые строки не будут создавать indicies с равномерно распределенными значениями ничего, кроме ПК, поэтому большинство запросов не демонстрируют ожидаемой производительности.

Я хотел бы рассмотреть вопрос об использовании инструмента генерации тестовых данных, как Faker (рубин и PERL разновидности существует):

http://faker.rubyforge.org/

+0

Полностью согласен с этим. –

Смежные вопросы