The MySQL native driver for PHP (Mysqlnd) is an additional, alternative way to connect from PHP 5 and PHP 6 to the MySQL Server 4.1 or newer. It is a replacement for the libmysql, the MySQL Client Library. From now on you can use ext/mysqli either together with libmysql as you did in the past or with mysqlnd. Ulf Wendel have been talking in the last days on his blog about Mysqlnd : what is it, do we need it, is it performant … ? His latest post so far is very informative titled What is mysqlnd, do I need it?. From his blog, advantages of mysqlnd include :

  • Easier to compile: no more linking against libmysql
  • Easier to compile: no need to have libmysql on the PHP build host
  • License: PHP license, no need for FLOSS Exception any more
  • Native: uses PHP memory management, supports PHP memory limit
  • Native: keeps every row only once in memory, with libmysql you have it twice in memory
  • New: keeps a long list of performance related statistics for bottle-neck analysis
  • New: persistent connections for ext/mysqli
  • Performance: can be faster than libmysql in certain cases
  • Future performance: we consider a client-side result set cache (pre-alpha design study in SVN)