Каким образом можно создать множество записей в mysql/postgres ?
Написать сценарий php не катит: количество записей, которое требуется создать - несколько лямов.
Просто иногда возникает желание протестировать ту или иную фишку в базе, для этого требуется много записей, содержимое которых не так важно.
Есть какой-то аналог fill_array?
UPD: Нашел способ через процедуры. Что наталкивает на мысль, что более прямого способа нет
Нащел здесь
Сделал демку
MySQL 5.5.30 Schema Setup:
CREATE OR REPLACE VIEW generator_16
AS SELECT 0 n UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL
SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL
SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL
SELECT 9 UNION ALL SELECT 10 UNION ALL SELECT 11 UNION ALL
SELECT 12 UNION ALL SELECT 13 UNION ALL SELECT 14 UNION ALL
SELECT 15;
CREATE OR REPLACE VIEW generator_256
AS SELECT ( ( hi.n << 4 ) | lo.n ) AS n
FROM generator_16 lo, generator_16 hi;
CREATE OR REPLACE VIEW generator_4k
AS SELECT ( ( hi.n << 8 ) | lo.n ) AS n
FROM generator_256 lo, generator_16 hi;
CREATE OR REPLACE VIEW generator_64k
AS SELECT ( ( hi.n << 8 ) | lo.n ) AS n
FROM generator_256 lo, generator_256 hi;
CREATE OR REPLACE VIEW generator_1m
AS SELECT ( ( hi.n << 16 ) | lo.n ) AS n
FROM generator_64k lo, generator_16 hi;
CREATE TABLE testme (id int ,txt varchar(255));
INSERT INTO testme (SELECT n,"test text" from generator_1m where n<100000) ;
Query 1:
select * from testme limit 5
Results:
| ID | TXT |
------------------
| 0 | test text |
| 1 | test text |
| 2 | test text |
| 3 | test text |
| 4 | test text |
Можно использовать LOAD DATA INFILE
The LOAD DATA INFILE statement reads rows from a text file into a table at a very high speed.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости