7 August 2006 View Comments

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.

ExtensionReq/Sec
mysqli
164
mysql
162
PDO
88
mysqli (prepared)
86
PDO (prepared)
81

Link: PHP and MySQL, the future

View Comments to “Benchmark mysql, mysqli, pdo in PHP”

  1. stefan 7 August 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.

  2. vinu 7 August 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.

  3. stefan 7 August 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.

  4. vinu 7 August 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.

  5. Stefan Koopmanschap 8 August 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

  6. vinu 8 August 2006 at 8:50 am #

    That’s a good suggestion. Let me see if I can whip up some benchmarks :)

  7. karl 31 August 2006 at 6:43 am #

    really interesting articles, and i really believe that mysql and mysqli libraries work much faster than PDO.!

    good blog!

  8. Name 17 March 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

  9. Wayne 14 March 2009 at 2:37 am #

    Thanks a million!

    I was about to start a big project and was pondering over whether I should use PDO instead of Mysqli! I think I’ll just stick to MySqli now!

  10. Schattenjaeger 10 February 2010 at 4:25 am #

    Don’t use OLD(!!) benchmarks, this benchmark is from 2006 so mysql, mysqli and PDO got many changes.

    BTW: You shouldn’t rely on the performance of database-functions/methods. The most problems will always be the codebase around it and your database model (and maybe your mysql-settings)!

  11. vinu 10 February 2010 at 11:53 am #

    Schattenjaeger, Yep – this is an old post on my blog from 2006.


Leave a Reply

blog comments powered by Disqus