Benchmark mysql, mysqli, pdo in PHP
-
Here’s an interesting article showing benchmarks between the various libraries used to query MySQL databases. It looks like the mysql and mysqli libraries work much faster than PDO.
Extension Req/Sec mysqli 164mysql 162PDO 88mysqli (prepared) 86PDO (prepared) 81
Advertisement
8 Comments
Leave a Comment
























August 7th, 2006 at 6:23 pm
of course, it isn’t *that* weird that PDO is slower. PDO is, as far as I can see it, more of a complete database abstraction layer than just an interface to mysql. mysql and mysqli are just focussing on mysql connectivity.
Thus, when writing an application that is 100% guaranteed to always use mysql, using one of those interfaces will work better than PDO. But when you need the flexibility of a database abstraction layer, PDO will make your code much more solid and portable.
August 7th, 2006 at 6:33 pm
I was under the impression that since PDO is a compiled extension for PHP, the performance would be much faster than using the Pear DB class for database abstraction. But a 50% performance drop was not what I had in mind.
August 7th, 2006 at 7:43 pm
I don’t think this compares PDO to Pear DB. It just compares PDO with executing a regular query (I didn’t read it through and through, so I might be wrong). Comparing PDO to Pear DB will probably give different results.
August 7th, 2006 at 7:52 pm
Yep - They don’t compare PDO with PEAR DB. I guess that’s a good benchmark to take if we’re looking at database abstraction for PHP.
August 8th, 2006 at 12:29 am
I wouldn’t be interested in that, but I dislike the whole PEAR project bigtime. The only thing I liked, PHPUnit, has split out of the project recently, so it’s no good.
I’d be interested in a benchmark between PDO and adoDB though
August 8th, 2006 at 8:50 am
That’s a good suggestion. Let me see if I can whip up some benchmarks
August 31st, 2006 at 6:43 am
really interesting articles, and i really believe that mysql and mysqli libraries work much faster than PDO.!
good blog!
March 17th, 2007 at 12:48 am
Pdo may be slower but mysql\mysqli only allow connections to mysql and this does not cut it when you want your application to be able to support multiple databases.
Correct me if I am wrong but dont most abstraction layers get their performance from using extensions such as mysql\mysqli\pgsql. These are faster than pdo and would probably explain the benchmarks combined with a few other things I wont get into