bindValue / bindParam против производительности массива

Я всегда передавал массив своих значений в execute, так как казалось, что imo легче читать. Недавно я работал над сценарием и заметил, что он использует bindParam, а позже пришел выяснить, как он передает ссылку на переменную (я никогда не знал).

С учетом сказанного в текущем проекте я могу придумать довольно много вариантов использования bindParam вместо моего текущего использования массива.

С учетом сказанного, есть ли разница в производительности между bindValue / bindParam и использованием массива при выполнении … особенно в случае повторяющихся циклов? Я делаю много $stmt->execute( array_merge($binding_clause, $binding) ); где у меня есть несколько привязок, которые не будут меняться, и некоторые, которые, конечно, будут циклически изменяться, где, насколько я могу судить, использование bindParam было бы идеально для этого.

Имеет ли добавление типа (PDO :: PARAM_STR, PDO :: PARAM_INT) с первым какую-либо производительность по сравнению с неиспользованием при использовании массива (я считаю, что это строка по умолчанию с массивами)?

Пример разницы между ними (это подготовленные операторы):

$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 ссылается на значения, существуют ли положительные / отрицательные значения производительности между ними (использование в малых и больших масштабах … включены повторяющиеся циклы)?

0

Решение

Помимо читабельности кода и того, как bindParam ссылается на значения, существуют ли плюсы / минусы производительности между двумя

Нет.

будет ли каждый $ stmt-> bindValue () быть другой поездкой в ​​БД

Нет.

-1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]