我尝试将我的数据上传到 mysql 它正在工作,但需要 35 秒,太多秒了。
我需要在我的代码中更改什么才能使其运行速度快于 35 秒?
我使用 php 编写代码和 SQL 查询以将数据发送到名为“words”的表。
在我的数据库表中,我有 4 列('word'、'num'、'hit'、'instoplist')。
我能做些什么来解决这个问题?
谢谢
这是我的代码:
<?php
function removeStopWordsFromArray($words)
{
.......
insert($words);
}
function insert($myWords)
{
global $conn;
foreach ($myWords as $key => $value) {
$word = $value['word'];
$number = $value['document'];
$hit = $value['hit'];
$stop = $value['stopList'];
$sql = "INSERT INTO words (word,num,hit,instoplist) VALUES ('$word', '$number', '$hit','$stop')";
if($conn->query($sql)!== TRUE)
{
echo "error". $conn->error;
}
}
fclose($fp);
}
$temp = pareseDocs();
removeStopWordsFromArray($temp);
?>
最佳答案
对于您在数据库中运行查询的每个数据。但你的情况下正确的方法是批量插入数据。您可以按照以下方式编写代码:
$sql = "INSERT INTO words (word,num,hit,instoplist) VALUES";
foreach ($myWords as $key => $value) {
$word = $value['word'];
$number = $value['document'];
$hit = $value['hit'];
$stop = $value['stopList'];
$sql .= "('$word', '$number', '$hit','$stop'),";
}
$sql = rtrim($sql,',') //to remove last comma
if($conn->query($sql)!== TRUE)
{
echo "error". $conn->error;
}
这将只在数据库中运行单个查询。因此会更快。
关于php - 用php上传数据到mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39511888/