所以我试图在我的数据库中插入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)
您可以使用MySQL LOAD DATA FROM INFILE语句做得更好.批量加载往往比构造大量的insert语句字符串更快.将您的数据写入文件并执行单个LOAD.
http://dev.mysql.com/doc/refman/5.1/en/load-data.html
插入/加载还取决于表上的索引数.仅在必要的列上创建索引.通过在将数据加载到表中后添加索引,您还可以获得更好的性能,这样您就不会在添加数据时更新索引.