gpt4 book ai didi

php - 多次使用许多 Mysqli 准备语句或较少量的直接查询

转载 作者:行者123 更新时间:2023-11-30 21:31:05 24 4
gpt4 key购买 nike

我的数据库有一个用户统计表,更新后我找不到正确的方法来选择更改的字段。现在,我在一个带有函数的查询中选择了未知数量的列。

问题是使用什么会更好/更快:将使用不同字段逐一执行的多个准备好的语句:

$stmt=$con->prepare("SELECT amount from achievement_list where field=?");
$stmt->bind_param("s",$query_field);
foreach($fields as $field){
$query_field=$field;
$stmt->execute();
//some actions
}

或所有那些具有一个直接查询的字段:

$con->query("SELECT amount from achievement_list where field in($field_list)");
//some actions

两种方式都可以多次使用。因此,它可以在许多准备好的语句或不太直接的查询之间进行选择

最佳答案

没有这样的问题。

准备好的查询与直接查询没有什么不同。两种情况下的数字完全相同。

所以您只是在 100% 的时间里使用准备好的查询,以防查询中至少使用一个变量。时期。这里没有什么可讨论的。

是的,运行单个查询比运行多个查询更快

您的特定问题也适用于此。像这样运行一个准备好的查询

$in = str_repeat('?,', count($fields) - 1) . '?';
$sql = "SELECT field, amount from achievement_list where field in($in)"
$stmt = $db->prepare($sql);
$types = str_repeat('s', count($fields));
$stmt->bind_param($types, ...$fields);
$stmt->execute();
$data = $statement->get_result()->fetch_all(MYSQLI_ASSOC);

关于php - 多次使用许多 Mysqli 准备语句或较少量的直接查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56121813/

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