mysqlnd成为php 5.3中的默认mysql驱动
作者: 曲文庆 日期: 2009-12-25 17:14
mysqlnd成为php 5.3中的默认mysql驱动,它有如下优点:
- mysqlnd更容易编译: 因为它是php源码树的一个组成部分
- mysqlnd和php内部机制结合更紧密,是优化过的mysql驱动
- mysqlnd更节省内存,从测试结果来看,比传统的mysql扩展节省40%的内存
- mysqlnd更快
- mysqlnd提供了丰富的性能统计功能
- mysqlnd使用了PHP license以避免不必要的版权纠纷
这个改动应同时对mysql和pdo_mysql扩展生效。
mysqlnd是什么
参考文章:http://forge.mysql.com/wiki/PHP_MYSQLND#A_brief_history_of_PHP.E2.80.99s_MySQL_APIs
介绍了关于mysql在PHP中的成长过程~
- PHP 3+ - ext/mysql: the oldest extension and API - please don’t use it any more, it does not support all MySQL features.
- PHP 5+ - ext/mysqli: the “current” extension and API - supports all features of MySQL
- PHP 5+ - PDO/MySQL: an extension and database API abstraction layer introduced with PHP 5
mysqlnd is not a new extension! mysqlnd is it not a new API!
Mysqlnd is neither a new PHP extension nor a new API! mysqlnd is new C-level library code. The mysqlnd library provides almost the same functionality as libmysql does. Both C-libraries implement the MySQL communication protocol and can be used to connect to the MySQL Server.
However, libmysql is a generic C-library with Dual-Licensing. Any C-based program can use it. As PHP is based on C, PHP is using it. mysqlnd is not a generic C-library. mysqlnd is licensed under the PHP license and it is tightly integrated into PHP on the C-level. For example, mysqlnd is using the PHP memory management functions and network streams. Due to the close integration, it is difficult for other C programs but PHP to use the library. Any other C program that tries to use mysqlnd would need to link against large parts of PHP. Maybe this explains what “native” and “for PHP” means.
总的意思是说mysqlnd是一种新的函数库,libmysql有的功能它几乎都有,但是mysqlnd并不像libmysql那样作为通用库,它是专门为PHP而写的一个库,用了PHP的内在管理函数以及一些网络流的函数
关闭访问头部的php信息 (2011-01-02 22:53)
php 5.3 不建议使用的函数 (2010-05-19 16:53)
php 5.3 中新增加的魔术变量 __DIR__ (2010-05-14 13:46)
windows server 2003 IIS上安装 PHP 5.3 (2010-03-03 15:53)
PHP 5.3新版特性浅析 (2009-12-25 17:19)
PHP文件上传源码分析(RFC1867) (2009-12-25 11:21)
谈PHP 闭包特性在实际应用中的问题 (2009-12-25 11:13)
Nginx配置PHP的一个关键注意点 (2009-02-02 17:20)
PHP中使用OpenSSL来产生证书加密解密源代码 (2008-12-05 11:56)