在進行mysql性能優化時,經常需要測試大量數據的情境,這時候就需要插入百萬條測試數據來進行測試,以下是一些插入百萬條測試數據的方法:
1. 使用循環插入 for ($i = 0; $i< 1000000; $i++) { $sql = "INSERT INTO `mytable` (`id`, `name`, `age`) VALUES ($i, 'name".$i."', '".rand(1, 100)."')"; mysql_query($sql); } 2. 使用LOAD DATA INFILE 該方法類似于從CSV文件中導入數據,首先準備一個CSV文件,然后使用如下命令導入數據: LOAD DATA INFILE '/path/to/file.csv' INTO TABLE `mytable`; 3. 使用INSERT INTO SELECT 該方法先從一個已經存在的表中SELECT出數據進行插入,如下所示: INSERT INTO `mytable` (`id`, `name`, `age`) SELECT uuid(), concat('name', t.t), FLOOR(RAND() * 100) FROM (SELECT 1 t 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) t1 CROSS JOIN (SELECT 1 t 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) t2; 4. 使用Percona的pt-query-digest 該工具可以生成隨機數據并插入到mysql中,使用如下命令: pt-query-digest --user=root --create-test-db --create-options="engine=InnoDB" --insert=1000000 使用以上方法可以輕松地插入百萬條測試數據,從而進行性能測試和優化。