gpt4 book ai didi

mysql - 加快插入查询mysql

转载 作者:行者123 更新时间:2023-11-29 03:41:32 26 4
gpt4 key购买 nike

我想向已有 10000 行的现有表中插入大约 10000 行。我需要获取查询的插入 ID,并在循环内的另一个函数中使用该 ID,如下面的代码所示。

foreach($values as $val){
$sql = "INSERT INTO wp_posts (`post_author`, `post_date`, `post_content`, `post_title`, `post_excerpt`, `post_status`,`post_modified`,`post_type`)
VALUES('".$val[author]."',NOW(),'".$val[content]."','".$val[title]."','".$val[excerpt]."','published',NOW(),'post')";
$result = mysql_query($sql);
$insertid = mysql_insert_id();
add_post_meta($insertid, $val[metakey], $val[metaval], true );
}

我正在从 CSV 文件中获取 $values 数组的值。截至目前,我每 3 分钟只能插入 20 行新行。有什么办法可以加快插入速度吗?

最佳答案

您可以尝试将准备好的语句与 PDO 结合使用,看看是否有帮助。

$sql =     "INSERT INTO wp_posts (`post_author`, `post_date`, `post_content`, `post_title`, `post_excerpt`, `post_status`,`post_modified`,`post_type`)
VALUES(:author,NOW(),:content,:title,:excerpt,'published',NOW(),'post')";
$pdoStatement = $pdoConnexion->prepare($sql);

foreach($values as $val){
$pdoStatement->bindValue(':author', $val['author'], PDO::PARAM_STR);
$pdoStatement->bindValue(':content', $val['content'], PDO::PARAM_STR);
$pdoStatement->bindValue(':title', $val['title'], PDO::PARAM_STR);
$pdoStatement->bindValue(':excerpt', $val['excerpt'], PDO::PARAM_STR);
$pdoStatement->execute();
$insertid = $pdoConnexion->lastInsertId();
add_post_meta($insertid, $val[metakey], $val[metaval], true );
}

关于mysql - 加快插入查询mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13297974/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com