我正在创建一个 PHP 脚本,用于将一些数据从文本文件导入到 MySQL 数据库中。这些文本文件非常大,平均一个文件有 10,000 行,每行对应我想要在数据库中添加的一个新项目。 (我不会经常导入文件)
我担心从文件中读取一行,然后执行 INSERT 查询,连续 10,000 次可能会导致一些问题。我有更好的方法吗?我应该对所有 10,000 个值执行一个 INSERT 查询吗?还是会一样糟糕?
也许我可以达到一种媒介,一次执行 10 或 100 个条目。真的,我的问题是我不知道什么是好的做法。也许连续 10,000 个查询没问题,我只是白担心。
有什么建议吗?
最佳答案
是的
<?php
$lines = file('file.txt');
$count = count($lines);
$i = 0;
$query = "INSERT INTO table VALUES ";
foreach($lines as $line){
$i++;
if ($count == $i) {
$query .= "('".$line."')";
}
else{
$query .= "('".$line."'),";
}
}
echo $query;
http://sandbox.phpcode.eu/g/5ade4.php
这将进行一次查询,比单行单查询方式快好几倍!
关于php - 我应该限制或减少我的数据库查询吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6803969/