1

私はいつも自分の値の配列を execute に渡してきました。私は最近スクリプトに取り組んでいて、それが bindParam を使用していることに気付き、後でこれが変数参照を渡す方法を見つけるようになりました (私は知りませんでした)。

そうは言っても、現在のプロジェクトでは、現在の配列の使用法ではなく、bindParam のかなりの使用法を考えることができます。

そうは言っても、bindValue/bindParam と実行時に配列を使用することの間にパフォーマンスの違いはありますか? 特にループが繰り返される場合は? $stmt->execute( array_merge($binding_clause, $binding) );私は、変更されないバインドがいくつかある場所で 多くのことを行っていることに気付きました。もちろん、ループ内で変更されるバインドもいくつかあります。

型 (PDO::PARAM_STR、PDO::PARAM_INT) を最初に追加すると、配列を使用するときにそうしない場合よりもパフォーマンスがありますか (配列ではデフォルトで文字列であると思います)。

2つの違いの例(これらは準備されたステートメントです):

$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();

上記の質問は$stmt->bindValue()別として、配列メソッドを使用する場合と比較して、ここではそれぞれがデータベースへの別の旅行になりますか?

コードの読みやすさと、bindParam が値を参照する方法は別として、2 つの間にパフォーマンスのプラス/マイナスがありますか (小規模および大規模な使用法... 繰り返しループが含まれます)?

4

1 に答える 1

-2

コードの読みやすさと、bindParam が値を参照する方法は別として、2 つのパフォーマンスの長所と短所はありますか?

いいえ。

ここで各 $stmt->bindValue() は、データベースへの別の旅行になります

いいえ。

于 2015-08-28T15:20:06.567 に答える