<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/book.mysqlnd.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'mysqlnd.overview.php',
    1 => 'Introducci&oacute;n',
    2 => 'Introducci&oacute;n',
  ),
  'up' => 
  array (
    0 => 'book.mysqlnd.php',
    1 => 'Mysqlnd',
  ),
  'prev' => 
  array (
    0 => 'book.mysqlnd.php',
    1 => 'Mysqlnd',
  ),
  'next' => 
  array (
    0 => 'mysqlnd.install.php',
    1 => 'Instalaci&oacute;n',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/mysqlnd/overview.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="mysqlnd.overview" class="chapter">
 <h1 class="title">Introducción</h1>

 <p class="simpara">
  <strong>Lo que no es</strong>
 </p>
 <p class="simpara">
  Aunque el driver nativo de MySQL está escrito como una extensión PHP, es importante
  señalar que no proporciona una nueva API al programador PHP. Las API para programadores
  son proporcionadas por la extensión MySQL, <code class="literal">mysqli</code> y PDO
  MySQL. Estas extensiones pueden ahora utilizar los servicios del driver nativo MySQL para comunicarse
  con el servidor MySQL. Por lo tanto, el driver nativo MySQL no debe ser considerado como una API.
 </p>
 <p class="simpara">
  <strong>¿Por qué utilizarlo?</strong>
 </p>
 <p class="simpara">
  Utilizar el driver nativo de MySQL ofrece numerosas ventajas en comparación con
  la biblioteca cliente de MySQL.
 </p>
 <p class="simpara">
  La antigua biblioteca cliente de MySQL fue escrita por MySQL AB (ahora
  parte de Oracle Corporation) y, por lo tanto, fue publicada bajo la licencia MySQL,
  lo que tuvo como consecuencia la desactivación del soporte de MySQL por defecto
  en PHP. Dado que el driver nativo de MySQL fue desarrollado como parte integral
  del proyecto PHP, se publica bajo la licencia PHP, lo que resuelve los problemas
  de licencia que existían en el pasado.
 </p>
 <p class="simpara">
  Además, anteriormente, era necesario compilar las extensiones de base de datos
  MySQL en relación con una copia de la biblioteca cliente de MySQL, lo que significaba que
  se debía tener instalado MySQL en la máquina donde se compilaba PHP a partir de los fuentes. Por lo tanto,
  cuando se ejecutaba la aplicación PHP, las extensiones MySQL llamaban a los archivos de la biblioteca cliente de MySQL
  al inicio, los cuales debían estar obligatoriamente instalados en el sistema. Con el driver nativo de MySQL, esto ya no es necesario
  ya que está incluido en la distribución estándar. Por lo tanto, ya no será necesario tener instalado MySQL para compilar PHP o ejecutar aplicaciones PHP
  que hagan uso de una base de datos.
 </p>
 <p class="simpara">
  Dado que el driver nativo de MySQL está escrito como una extensión PHP, está íntimamente
  ligado al núcleo de PHP. Esto implica una mejor eficiencia, especialmente en lo que respecta
  al uso de la memoria, ya que el driver utiliza la asignación de memoria de PHP y, por
  lo tanto, soporta los límites de memoria. Utilizar el driver nativo de MySQL resulta en
  un rendimiento igual o mejor que con la biblioteca cliente de MySQL, ya que el uso
  de la memoria es mucho más eficiente. El hecho de que, al utilizar la biblioteca cliente
  de MySQL, cada registro se almacene dos veces en memoria, mientras que el cliente nativo de MySQL solo lo almacena una vez, es un buen ejemplo de una buena gestión de la memoria.
 </p>
 <blockquote class="note"><p><strong class="note">Nota</strong>: 
  <strong>Supervisión del uso de memoria</strong><br />
  <span class="simpara">
   Debido a que el driver nativo de MySQL utiliza el sistema de gestión de memoria
   de PHP, su uso de memoria puede ser supervisado con la función
   <span class="function"><a href="function.memory-get-usage.php" class="function">memory_get_usage()</a></span>. Esto no es posible
   con la biblioteca libmysqlclient ya que utiliza la función C malloc() en su lugar.
  </span>
 </p></blockquote>
 <p class="simpara">
  <strong>Funcionalidades especiales</strong>
 </p>
 <p class="simpara">
  El driver nativo de MySQL también proporciona algunas funcionalidades especiales no
  disponibles con la biblioteca cliente de MySQL, listadas a continuación:
 </p>
 <ul class="itemizedlist">
  <li class="listitem">
   <span class="simpara">
    Conexiones persistentes mejoradas
   </span>
  </li>
  <li class="listitem">
   <span class="simpara">
    La función especial <span class="function"><a href="mysqli-result.fetch-all.php" class="function">mysqli_fetch_all()</a></span>
   </span>
  </li>
  <li class="listitem">
   <span class="simpara">
    Llamadas a las estadísticas de rendimiento:
    <span class="function"><a href="function.mysqli-get-client-stats.php" class="function">mysqli_get_client_stats()</a></span>,
    <span class="function"><a href="mysqli.get-connection-stats.php" class="function">mysqli_get_connection_stats()</a></span>
   </span>
  </li>
 </ul>
 <p class="simpara">
  Las estadísticas de rendimiento pueden ser muy útiles para identificar
  cuellos de botella de rendimiento.
 </p>
 <p class="simpara">
  El driver nativo de MySQL también proporciona conexiones persistentes al utilizarlo
  con la extensión <code class="literal">mysqli</code>.
 </p>
 <p class="simpara">
  <strong>Soporte de SSL</strong>
 </p>
 <p class="simpara">
  El driver nativo de MySQL (MySQL Native Driver) soporta SSL.
 </p>
  <p class="simpara">
  <strong>Soporte del protocolo comprimido</strong>
  </p>
  <p class="simpara">
   El driver nativo de MySQL soporta el protocolo cliente/servidor MySQL comprimido.
   La extensión <code class="literal">ext/mysqli</code>, si está configurada para utilizar el driver
   nativo de MySQL, también puede beneficiarse de esta funcionalidad.
   Es importante señalar que <code class="literal">PDO_MYSQL</code> no soporta
   <em>EN ABSOLUTO</em> la compresión cuando se utiliza con mysqlnd.
  </p>
 <p class="simpara">
  <strong>Soporte de pipes nombrados</strong>
 </p>
 <p class="simpara">
  Los pipes nombrados pueden ser utilizados para conectarse bajo Windows.
 </p>
</div>
<?php manual_footer($setup); ?>