gpt4 book ai didi

mysql - PDO 绑定(bind)值与插入

转载 作者:可可西里 更新时间:2023-11-01 08:37:47 26 4
gpt4 key购买 nike

除了在 PDO 中使用绑定(bind)值时转义值的优点外,使用具有多个值的绑定(bind)值(准备语句一次,但使用不同的值执行多次)而不是单个插入语句(如INSERT INTO table_name VALUES (value1, value2, value3),(value1, value2, value3),(value1, value2, value3)

最佳答案

自己对 100,000 条记录进行了一些测试。对于更简单的场景,我没有使用 INSERT INTO 而是使用 REPLACE INTO 以避免每次都必须提出新的 key 。

替换成

原始替换成 3 列示例 REPLACE INTO table_name VALUES (value1, value2, value3),(value1, value2, value3),(value1, value2, value3)...... 在 100,000 行上花费了大约 14 秒

正常绑定(bind)

使用准备语句、绑定(bind)值和执行准备语句花费了大约 33 秒

foreach ($vars as $var) {
$stmt->bindValue(':a' . $var["value1"], $var["value2"]);
$stmt->bindValue(':b' . $var["value3"], $var["value4"]);
$stmt->bindValue(':c' . $var["value5"], $var["value6"]);
$stmt->execute();
}

绑定(bind)但 1 执行

在准备之前创建一个长语句,绑定(bind)所有参数并执行一次大约需要 22 秒

REPLACE INTO clientSettings(clientId, settingName, settingValue) VALUES (:a1,:b1,:c1)
(:a2,:b2,:c2)
(:a3,:b3,:c3)
(:a4,:b4,:c4)
.......

请注意,这些是粗略数字,用于在 100,000 条记录上创建 REPLACE INTO(删除和插入的字段)。

关于mysql - PDO 绑定(bind)值与插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5729506/

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