Как лучше всего использовать подготовленные заявления PDO? - PullRequest
2 голосов
/ 09 декабря 2010

При использовании подготовленных операторов в PDO я должен "построить" подготовленный оператор для каждого вызова БД или я могу использовать один оператор для всех вызовов?пример:

 class DB{
    ...
    function query($sqlStatementString,$data){
        $this->sth->prepare($sqlStatementString);
        $this->sth->execute($data);
    }
    ...
}

ИЛИ

class User{
    ...
    function doSomething(){
        $sthForDoSomething->prepare(...);
        $sthForDoSomething->execute(...);
    }
    ...
    function jump(){
        $sthForJump->prepare(...);
        $sthForJump->execute(...);
    }
}

Есть ли последствия использования памяти для одного метода по сравнению с другим?спасибо!

1 Ответ

1 голос
/ 09 декабря 2010

Если вы когда-либо собираетесь выполнить один и тот же запрос более одного раза, с только разными параметрами, связанными с заполнителями, вы должны попытаться структурировать свой код таким образом, чтобы вы могли повторно использовать оператор.При вызове prepare база данных создает и кэширует план выполнения для запроса, который вы будете использовать в будущих вызовах для выполнения, что ускоряет выполнение этих запросов.

...