# Conexiones persistentes

Utilizar conexiones persistentes

Si `mysqli` se utiliza con `mysqlnd`, cuando se crea una conexión persistente, se genera una llamada `COM_CHANGE_USER` (`mysql_change_user()`) en el servidor. Esto asegura que la re-autenticación de la conexión se lleva a cabo.

Dado que hay una cierta sobrecarga asociada con la llamada `COM_CHANGE_USER`, es posible apagar esto en el tiempo de compilado. La reutilización de una conexión persistente entonces generará una llamada `COM_PING` (`mysql_ping`) para simplemente probar si la conexión es reusable.

La generación de `COM_CHANGE_USER` se puede apagar con el marcador de compilación `MYSQLI_NO_CHANGE_USER_ON_PCONNECT`. Por ejemplo:

    shell# CFLAGS="-DMYSQLI_NO_CHANGE_USER_ON_PCONNECT" ./configure --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql/bin/mysql_config --enable-debug && make clean && make -j6

O, alternativamente:

    shell# export CFLAGS="-DMYSQLI_NO_CHANGE_USER_ON_PCONNECT"
    shell# configure --whatever-option
    shell# make clean
    shell# make

Observe que solamente `mysqli` sobre `mysqlnd` utiliza `COM_CHANGE_USER`. Otra combinación de extensión-controlador emplea `COM_PING` en el uso inicial de una conexión persistente.