Domanda

I want to know the different between MySQL Native Driver and MySQL Client Library and when to use both of them

È stato utile?

Soluzione

There is no big difference in the PHP language level.

  • libmysqlclient distributed by MySQL, mysqlnd distributed by PHP.
  • libmysqlclient is part of MySQL, you need install MySQL library.
  • Their license are different.
  • mysqlnd supports a lot of plugins (mysqlnd_ms & mysqlnd_qc & ...).
  • Because mysqlnd is part of PHP, its memory could be limited by PHP configuration.
  • mysqlnd is the default after 5.4

http://php.net/manual/en/mysqlinfo.library.choosing.php

Altri suggerimenti

mysql:

  • dual licence
  • optional automatic reconnect
  • all memory allocation and deallocation is done using operating system memory management

mysqlnd:

mysqlnd via plugins:

incompatibilities between mysql and mysqlnd:

  • values of bit data type are returned as binary strings with mysql.so and as decimal strings with mysqlnd.so (source).

Based on this and other docs: http://php.net/manual/en/mysqlinfo.library.choosing.php

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top