1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-26 08:22:08 +01:00
Files
archived-doc-es/reference/mysqlnd/overview.xml
Pedro Antonio Gil Rodríguez d3262c62a3 Actualización a la última versión
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@329970 c90b9560-bf6c-de11-be94-00142212c4b1
2013-03-31 17:47:26 +00:00

147 lines
6.1 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: cd09fab47b40563cb8b2316d817efc973d991713 Maintainer: seros Status: ready -->
<!-- Reviewed: no -->
<chapter xml:id="mysqlnd.overview" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Información General</title>
<para>
<emphasis role="bold">Lo que no es</emphasis>
</para>
<para>
Aunque el Controlador Nativo de MySQL está escrito como una extensión de PHP, es
importanete observar que no proporciona una nueva API al programador
de PHP. Las APIs de programador para conectividad de bases de datos MySQL están
proporcionadas por las extensiones, <literal>mysqli</literal> y PDO
MYSQL. Estas extensiones ahora pueden utilizar servicios del Controlador Nativo de
MySQL para comunicarse con el Servidor MySQL. Por lo tanto, no se debería
pensar en el Controlador Nativo de MySQL como una API.
</para>
<para>
<emphasis role="bold">¿Por qué usarlo?</emphasis>
</para>
<para>
El uso del Controlador Nativo de MySQL ofrece varias ventajas sobre el uso
de la Biblioteca Cliente de MySQL.
</para>
<para>
La antigua Biblioteca Cliente de MySQL fue escrita por MySQL AB (ahora Oracle
Corporation) y por lo tanto fue liberada bajo la licencia de MySQL. Esto,
a la larga, condujo a que el soporte para MySQL fuera deshabilitado de forma predeterminada en PHP.
Sin embargo, el Controlador Nativo de MySQL ha sido desarrollado como parte del proyecto
de PHP, y, por lo tanto, es liberado bajo la licencia de PHP. Esto elimina
las cuestiones sobre licencias que han sido problemáticas en el pasado.
</para>
<para>
También, en el pasado, se necesitaba construir las extensiones de bases de datos MySQL
con una copia de la Biblioteca Cliente de MySQL. Esto, normalmente, significaba que
se necesitaba tener instalado MySQL en una máquina donde se construyera
el código fuente de PHP. También, cuando una aplicación de PHP era ejecutada, las
extensiones de bases de datos de MySQL llamarían al fichero de la Biblioteca Cliente de
MySQL en tiempo de ejecución, por lo que el fichero era necesario instalarlo en el sistema.
Con el Controlador Nativo de MySQL ese ya no es el caso debido a que está incluido
como parte de la distribución estándar. Así, no se necesita tener instalado MySQL
para construir PHP o ejecutar aplicaciones de bases de datos de PHP.
</para>
<para>
Ya que el Controlador Nativo de MySQL está escrito como una extensión de PHP, está
íntimamente asociado con el funcionamiento de PHP. Esto conduce a obtener ganancias en
eficiencia, especialmente en lo que se refiere al uso de memeria, ya que el controlador
utiliza el sistema de administración de memoria de PHP. También soporta el límite de memoria
de PHP. El uso del Controlador Nativo de PHP conduce a un rendimiento comparable o mejor
que el uso de la Biblioteca Cliente de MySQL; siempre se asegura del
uso de memoria más eficiente. Un ejemplo de la eficiencia de memoria es
el hecho de que cuando se usa la Biblioteca Cliente de MySQL, cada columna es almacenada
en memoria dos veces, mientras que con el Controlador Nativo de MySQL cada columna solamente se
almacena una vez en memoria.
</para>
<note>
<title>Informe del uso de memoria</title>
<para>
Ya que el Controlador Nativo de MySQL utiliza el sistema de administración de memoria de PHP,
su uso de memoria se puede seguir con <function>memory_get_usage</function>.
Esto no es posible con libmysqlclient porque utiliza la función de C malloc()
en su lugar.
</para>
</note>
<para>
<emphasis role="bold">Características especiales</emphasis>
</para>
<para>
El Controlador Nativo de MySQL también proporciona algunas características especiales no disponibles
cuando las extensiones de bases de datos de MySQL utilizan la Biblioteca Cliente de MySQL. Estas
características especiales están listadas abajo:
</para>
<itemizedlist>
<listitem>
<para>
Conexiones persistentes mejoradas
</para>
</listitem>
<listitem>
<para>
La función especial <function>mysqli_fetch_all</function>
</para>
</listitem>
<listitem>
<para>
Llamadas para obtener estadísticas de rendimiento:
<function>mysqli_get_cache_stats</function>,
<function>mysqli_get_client_stats</function>,
<function>mysqli_get_connection_stats</function>
</para>
</listitem>
</itemizedlist>
<para>
Se puede demostrar que la capacidad de obtener estadísticas de rendimiento es muy útil en
la identificación de cuellos de botella de rendimiento.
</para>
<para>
El Controlador Nativo de MySQL también permite conexiones persistentes cuando se
usa junto con la extensión <literal>mysqli</literal>.
</para>
<para>
<emphasis role="bold">Soporte para SSL</emphasis>
</para>
<para>
El Controlador Nativo de MySQL tiene soporte para SSL desde la versión 5.3.3 de PHP.
</para>
<para>
<emphasis role="bold">Soporte para el Protocolo de Compresión</emphasis>
</para>
<para>
A partir de PHP 5.3.2, el Controlador Nativo de MySQL soporta el protocolo de compresión
cliente-servidor. El Controlador Nativo de MySQL no lo soportaba en 5.3.0 y
5.3.1. Las extensiones como <literal>ext/mysql</literal>,
<literal>ext/mysqli</literal>, que están configuradas para usar el Controlador Nativo de MySQL,
también puede tomar ventaja de esta característica. Observe que <literal>PDO_MYSQL</literal>
<emphasis>NO</emphasis> soporta compresión al usarla junto con mysqlnd.
</para>
<para>
<emphasis role="bold">Soporte para Tuberías con Nombre</emphasis>
</para>
<para>
El soporte para las tuberías con nombre para Windows fue añadido en la versión 5.4.0 de PHP.
</para>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->