11

我想知道 MySQL Native Driver 和 MySQL Client Library 之间的区别以及何时使用它们

4

2 回答 2

16

PHP语言级别没有太大区别。

  • 由 MySQL 分发的 libmysqlclient,由 PHP 分发的 mysqlnd。
  • libmysqlclient 是 MySQL 的一部分,您需要安装 MySQL 库。
  • 他们的执照不同。
  • mysqlnd 支持很多插件(mysqlnd_ms & mysqlnd_qc & ...)。
  • 因为 mysqlnd 是 PHP 的一部分,所以它的内存可能会受到 PHP 配置的限制。
  • mysqlnd是5.4以后的默认

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

于 2014-09-19T15:03:56.547 回答
6

mysql

  • 双重执照
  • 可选的自动重新连接
  • 所有内存分配和释放都是使用操作系统内存管理完成的

mysqlnd

mysqlnd通过插件:

mysql和mysqlnd之间的不兼容:

  • bit 数据类型的值在 mysql.so 中以二进制字符串形式返回,在 mysqlnd.so 中以十进制字符串形式返回(来源)。

基于此文档和其他文档: http: //php.net/manual/en/mysqlinfo.library.choosing.php

于 2019-01-23T13:58:51.850 回答