Re: PDO fetch performance problems with many bindparameters

From: Date: Fri, 28 Aug 2020 20:57:40 +0000
Subject: Re: PDO fetch performance problems with many bindparameters
References: 1 2 3 4 5 6 7  Groups: php.internals 
Request: Send a blank email to internals+get-111706@lists.php.net to get a copy of this message
On 28.08.2020 at 20:36, Matteo Beccati wrote: > Hi Gabriel, > >> Let's have this patch merged into PHP 8.0 (master >> branch as of today), I >> have nothing against it.> >> About PHPs 7.3 and 7.4: if the performance improvements are this massive as >> describe in this email, I'm :+1: to have it on those versions as well. > > The mileage may very: running the Doctrine test suite, for example, > shows no difference at all. > > On the other side of the spectrum, a SELECT * FROM tbl WHERE id IN (?, > ....) and 65535 parameters: > > > https://gist.github.com/mbeccati/6f2cd094c38b094cb4bfc4c0245a23ab > > root@jameson /tmp # /tmp/php-7.4-std bench_pdo3.php > Got rows: 65535 > [Timings] prep: 0.018, exec: 0.210, fetch: 35.812 > > root@jameson /tmp # /tmp/php-7.4-opt bench_pdo3.php > Got rows: 65535 > [Timings] prep: 0.019, exec: 0.208, fetch: 0.026 > > That's almost 36 seconds vs 26ms. Can we be certain that the relevant bits of the formerly _reserved_flags are zero-filled for all existing drivers? -- Christoph M. Becker

« previous php.internals (#111706) next »