快速插入250k行

jos*_*ith 5 php mysql

所以我试图在我的数据库中插入250 000行.因为这只是样本数据,我只需要查询ax,y变量确实改变了for循环,而只是简单的'water'的地形

但这是永远的.任何人都知道如何让这种情况更快发生?

ini_set('max_execution_time', 70000);

$conn = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('hol', $conn) or die(mysql_error());

for ($y=0;$y<500;$y++) {
    for ($x=0;$x<500;$x++) {
        mysql_query("INSERT INTO map(x, y, terrain) VALUES($x, $y, 'water')");
    }
}
Run Code Online (Sandbox Code Playgroud)

Gir*_*Rao 8

您可以使用MySQL LOAD DATA FROM INFILE语句做得更好.批量加载往往比构造大量的insert语句字符串更快.将您的数据写入文件并执行单个LOAD.

http://dev.mysql.com/doc/refman/5.1/en/load-data.html

插入/加载还取决于表上的索引数.仅在必要的列上创建索引.通过在将数据加载到表中后添加索引,您还可以获得更好的性能,这样您就不会在添加数据时更新索引.