Re: [PDO] Client side cache for prepared queries

From: Date: Tue, 02 Aug 2011 15:26:18 +0000
Subject: Re: [PDO] Client side cache for prepared queries
References: 1 2 3 4 5 6 7  Groups: php.pdo 
Request: Send a blank email to pdo+get-512@lists.php.net to get a copy of this message
Julien Palard wrote:
On Tue, Aug 2, 2011 at 3:17 PM, Ferenc Kovacs<tyra3l@gmail.com> wrote:
if you can use persistent connection, the performance gain will accumulate between your requests.
If and only if the undocumented client side cache really exists, if calling pdo::prepare create a new one each time, there are no performance gain at all albeit persistent connection are used, maybe should I search in the source code to confirm it :P
The base premiss of PDO is that all the core functions work identically for any database. MySQL is coming late into the game on prepared queries, and other databases do things differently, so if you want MySQL type operation, then it may be better to switch to the generic driver? In the case of Firebird and Oracle, the preparation has to be done on the at the server end, since only the parameters will be updated later, and the query has to be handled in the context of a transaction, so actually making some of this persistent at all causes problems when many users are holding transactions open without any end in sight. While the connection can be held persistent, holding a transaction open is a no-no, and so anything prepared within that transaction also has to be closed. In these cases we rely on the internal caching within the database engine to speed things up, and asking the same query will pull data from memory normally, but with a current view based on what has happened in other transactions since. -- Lester Caine - G8HFL ----------------------------- Contact - http://lsces.co.uk/wiki/?page=contact L.S.Caine Electronic Services - http://lsces.co.uk EnquirySolve - http://enquirysolve.com/ Model Engineers Digital Workshop - http://medw.co.uk// Firebird - http://www.firebirdsql.org/index.php

« previous php.pdo (#512) next »