Modified: phpdoc/en/trunk/reference/mysqlnd/overview.xml =================================================================== --- phpdoc/en/trunk/reference/mysqlnd/overview.xml 2009-11-20 09:11:58 UTC (rev 291052) +++ phpdoc/en/trunk/reference/mysqlnd/overview.xml 2009-11-20 09:57:47 UTC (rev 291053) @@ -1,156 +1,133 @@ - - Overview - - - MySQL Native Driver is a replacement for the MySQL Client Library - (libmysql). MySQL Native Driver is part of the official PHP 5.3 and - PHP 6 branches. - - - - The MySQL database extensions MySQL extension, - mysqli and PDO MYSQL all communicate with the - MySQL server. In the past, this was done by the extension using the - services provided by the MySQL Client Library. The extensions were - compiled against the MySQL Client Library in order to use its - client-server protocol. - - - - With MySQL Native Driver there is now an alternative, as the MySQL - database extensions can be compiled to use MySQL Native Driver - instead of the MySQL Client Library. - - - - MySQL Native Driver is written in C as a PHP extension. - - - - What it is not - - - - Although MySQL Native Driver is written as a PHP extension, it is - important to note that it does not provide a new API to the PHP - programmer. The programmer APIs for MySQL database connectivity are - provided by the MySQL extension, mysqli and PDO - MYSQL. These extensions can now use the services of MySQL Native - Driver to communicate with the MySQL Server. Therefore, you should - not think of MySQL Native Driver as an API. - - - - Why use it? - - - - Using the MySQL Native Driver offers a number of advantages over - using the MySQL Client Library. - - - - The older MySQL Client Library was written by MySQL AB (now Sun - Microsystems, Inc.) and so was released under the MySQL license. - This ultimately led to MySQL support being disabled by default in - PHP. However, the MySQL Native Driver has been developed as part of - the PHP project, and is therefore released under the PHP license. - This removes licensing issues that have been problematic in the - past. - - - - Also, in the past, you needed to build the MySQL database extensions - against a copy of the MySQL Client Library. This typically meant you - needed to have MySQL installed on a machine where you were building - the PHP source code. Also, when your PHP application was running, - the MySQL database extensions would call down to the MySQL Client - library file at run time, so the file needed to be installed on your - system. With MySQL Native Driver that is no longer the case as it is - included as part of the standard distribution. So you do not need - MySQL installed in order to build PHP or run PHP database - applications. - - - - Because MySQL Native Driver is written as a PHP extension, it is - tightly coupled to the workings of PHP. This leads to gains in - efficiency, especially when it comes to memory usage, as the driver - uses the PHP memory management system. It also supports the PHP - memory limit. Using MySQL Native Driver leads to comparable or - better performance than using MySQL Client Library, it always - ensures the most efficient use of memory. One example of the memory - efficiency is the fact that when using the MySQL Client Library, - each row is stored in memory twice, whereas with the MySQL Native - Driver each row is only stored once in memory. - - - - Special features - - - - MySQL Native Driver also provides some special features not - available when the MySQL database extensions use MySQL Client - Library. These special features are listed below: - - - - - - - Improved persistent connections - - - - - - The special function mysqli_fetch_all - - - - - - Performance statistics calls: - mysqli_get_cache_stats, - mysqli_get_client_stats, - mysqli_get_connection_stats - - - - - - - The performance statistics facility can prove to be very useful in - identifying performance bottlenecks. - - - - MySQL Native Driver also allows for persistent connections when used - with the mysqli extension. - - - - SSL Support - - - - Currently, MySQL Native Driver does not support SSL. This means that - mysqli_ssl_set will generate an error if called - while using MySQL Native Driver. - - - - Compressed Protocol Support - - - - Currently, MySQL Native Driver does not support the compressed MySQL Client Server Protocol. - - + Overview + + MySQL Native Driver is a replacement for the MySQL Client Library + (libmysql). MySQL Native Driver is part of the official PHP 5.3 and + PHP 6 branches. + + + The MySQL database extensions MySQL extension, + mysqli and PDO MYSQL all communicate with the MySQL + server. In the past, this was done by the extension using the services + provided by the MySQL Client Library. The extensions were compiled + against the MySQL Client Library in order to use its client-server + protocol. + + + With MySQL Native Driver there is now an alternative, as the MySQL + database extensions can be compiled to use MySQL Native Driver instead + of the MySQL Client Library. + + + MySQL Native Driver is written in C as a PHP extension. + + + What it is not + + + Although MySQL Native Driver is written as a PHP extension, it is + important to note that it does not provide a new API to the PHP + programmer. The programmer APIs for MySQL database connectivity are + provided by the MySQL extension, mysqli and PDO + MYSQL. These extensions can now use the services of MySQL Native + Driver to communicate with the MySQL Server. Therefore, you should not + think of MySQL Native Driver as an API. + + + Why use it? + + + Using the MySQL Native Driver offers a number of advantages over using + the MySQL Client Library. + + + The older MySQL Client Library was written by MySQL AB (now Sun + Microsystems, Inc.) and so was released under the MySQL license. This + ultimately led to MySQL support being disabled by default in PHP. + However, the MySQL Native Driver has been developed as part of the PHP + project, and is therefore released under the PHP license. This removes + licensing issues that have been problematic in the past. + + + Also, in the past, you needed to build the MySQL database extensions + against a copy of the MySQL Client Library. This typically meant you + needed to have MySQL installed on a machine where you were building + the PHP source code. Also, when your PHP application was running, the + MySQL database extensions would call down to the MySQL Client library + file at run time, so the file needed to be installed on your system. + With MySQL Native Driver that is no longer the case as it is included + as part of the standard distribution. So you do not need MySQL + installed in order to build PHP or run PHP database applications. + + + Because MySQL Native Driver is written as a PHP extension, it is + tightly coupled to the workings of PHP. This leads to gains in + efficiency, especially when it comes to memory usage, as the driver + uses the PHP memory management system. It also supports the PHP memory + limit. Using MySQL Native Driver leads to comparable or better + performance than using MySQL Client Library, it always ensures the + most efficient use of memory. One example of the memory efficiency is + the fact that when using the MySQL Client Library, each row is stored + in memory twice, whereas with the MySQL Native Driver each row is only + stored once in memory. + + + Special features + + + MySQL Native Driver also provides some special features not available + when the MySQL database extensions use MySQL Client Library. These + special features are listed below: + + + + + Improved persistent connections + + + + + The special function mysqli_fetch_all + + + + + Performance statistics calls: + mysqli_get_cache_stats, + mysqli_get_client_stats, + mysqli_get_connection_stats + + + + + The performance statistics facility can prove to be very useful in + identifying performance bottlenecks. + + + MySQL Native Driver also allows for persistent connections when used + with the mysqli extension. + + + SSL Support + + + Currently, MySQL Native Driver does not support SSL. This means that + mysqli_ssl_set will generate an error if called + while using MySQL Native Driver. + + + Compressed Protocol Support + + + As of PHP 5.3.2 MySQL Native Driver supports the compressed client + server protocol. MySQL Native Driver did not support this in 5.3.0 and + 5.3.1. Extensions such as ext/mysql, + ext/mysqli, PDO_MYSQL, that are + configured to use MySQL Native Driver, can also take advantage of this + feature. +