VT’s Tech Blog RSS

Advertisement

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
    164
    mysql
    162
    PDO
    88
    mysqli (prepared)
    86
    PDO (prepared)
    81

    Link: PHP and MySQL, the future

    • Share/Save/Bookmark

Advertisement

  • 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.
  • 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.
  • 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.
  • 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.
  • 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
  • That's a good suggestion. Let me see if I can whip up some benchmarks :)
  • really interesting articles, and i really believe that mysql and mysqli libraries work much faster than PDO.!

    good blog!
  • Name
    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
  • 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!
blog comments powered by Disqus