bindValue / bindParam vs array performance

时间:2015-08-28 15:16:44

标签: php pdo bindvalue bindparam

我总是将我的值数组传递给execute,因为它似乎更容易阅读imo。我最近在编写一个脚本,发现它正在使用bindParam,后来发现它如何通过变量引用(我从来不知道)。

话虽如此,在当前项目中,我可以想到bindParam的一些用途,而不是我当前的数组用法。

话虽如此,bindValue / bindParam和执行时使用数组之间是否有任何性能差异...特别是在重复循环的情况下?我发现自己做了很多{{1我有一些不会改变的绑定,有些会在循环中,当然,我可以使用bindParam来判断它是完美的。

在使用数组时,添加第一个类型(PDO :: PARAM_STR,PDO :: PARAM_INT)是否有任何性能而不是这样做(我相信默认情况下它是数组的字符串)?

两者之间的示例差异(这些是准备好的陈述):

$stmt->execute( array_merge($binding_clause, $binding) );

除了上面的问题之外,与使用数组方法时相比,每个$binding = array( 'cw_account_id' => $_SESSION['user']['account_id'], 'cw_date_start' => $date_start, 'cw_date_end' => $date_end, 'cw_start' => $b_counter * 500 ); $stmt->execute($binding); compared to $stmt->bindValue(':cw_account_id', $_SESSION['user']['account_id'], PDO::PARAM_INT); $stmt->bindValue(':cw_date_start', $date_start, PDO::PARAM_INT); $stmt->bindValue(':cw_date_end', $date_end, PDO::PARAM_INT); $stmt->bindValue(':cw_start', $b_counter * 500, PDO::PARAM_INT); $stmt->execute(); 是否会再次访问数据库?

除了代码的可读性以及bindParam如何引用值之外,两者之间是否存在性能正/负(小规模和大规模使用......包括重复循环)?

1 个答案:

答案 0 :(得分:-1)

  

除了代码的可读性以及bindParam如何引用值之外,两者之间是否存在性能上的肯定/否定

没有

  

这里每个$ stmt-> bindValue()都是另一个db

之旅

没有