Re: [PDO] Fwd: Bug #50755 [Opn]: PDO DBLIB Fails with OOM

[email protected] (Lester Caine) Tue, 30 Mar 2010 08:22:22 +0100
Newsgroups php.pdo
Message-ID <[email protected]>
Stanley Sufficool wrote:
> With the spatial database processing I am doing on millions of rows
> rendering them to PDF, another layer of slowness just isn't
> acceptable. My apps also process many transactions per second.
>
> http://tonylandis.com/perfomance/php-adodb-pdo-mysql-database-apc-benchmark/
>
> Unless I'm missing something, this performance just won't work for me.

See note below, but the other problem here is that it IS only comparing a simple 
raw case. The ADOdb extension works best on returning arrays of results and will 
quite consistently return identical arrays across all of the databases it 
supports. A couple of tweaks to the ADOdb code of that benchmark would vastly 
improve performance while still maintaining the cross database capability. ( But 
hard coding 'limit' causes problems with other drivers ;) )

Of cause for best speed you use numbered arrays anyway ;)
But this is where PDO is currently falling over ... even simply switching off 
'blob streams' would be better currently.

>> Some of the other items on the todo list for PDO are simply not fixable
>> given the current structure of PDO - such as cross database transactions. So
>> either PDO will only ever be a 'restrict everything to this sub set of
>> functions' or we need to fill in the holes to allow the PDO drivers even to
>> be considered as replacing the generic drivers in the future?
>>
>
> I don't need it. If you do, file an RFC for how you think it would best be done.
>
>> In the meantime we still need to be able to build cross database projects.
>
> Cross database compatibility is nice. However, I am (un)fortunate
> enough to be tied to a particular DBMS ;)

Stanley - if you have no interest in cross database working, then I would 
SERIOUSLY suggest simply comparing performance between pdo and the generic dblib 
driver. And certainly use one of the accelerators which as indicated in the 
above benchmark makes a considerable difference. I use eaccelerator which 
performs well for me.

-- 
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