Cómo mejorar sus tiempos de consulta de MySQL en el script PHP incrementa la velocidad de navegación y evita tiempos de espera de secuencia de comandos que se produzcan. PHP es un lenguaje de programación con características para ayudarle a crear páginas web dinámicas. MySQL es un sistema de gestión de base de datos relacional que ofrece múltiples usuarios el acceso a bases de datos en un servidor. Investigar la causa de consultas lentas con la declaración de "explicar" , lo que permite el registro de consultas lentas y tiempo de su consulta ingenio la función " microtime " . Con la extensión PDO MYSQL y actualizar su versión de MySQL PHP y también puede ayudar a acelerar las consultas. Instrucciones
1
Modificar PHP y MySQL para las últimas versiones de sus sitios web. Las versiones antiguas a veces en conflicto entre sí , mientras que las versiones más recientes cuentan correcciones de errores y tienen más probabilidades de ser compatibles entre sí .
2
Abra el archivo " my.cnf " de MySQL en un editor de texto como el de Windows Bloc de notas. Localice y establezca la opción " log_slow_queries " en "ON " en lugar de "OFF " . Establecer el " long_query_time " a un número bajo, como " 1 " y anote el directorio " log-slow -queries " . Actualizar el servicio MySQL. El " mysql- slow.log " ahora mostrará las consultas que tardan mucho tiempo en ejecutarse. Esto le ayudará a identificar la frecuencia con la consulta se ejecuta lentamente.
3
Establezca la sentencia "explicar" en la consulta antes de una sentencia " SELECT" para recuperar información del optimizador de cómo su se ejecutará consulta. La salida resultante puede revelar la causa de su consulta lenta , como un índice de falta
4
Tiempo consulta PHP con la función " microtime " agregando el siguiente código donde se encuentra su consulta: .
$ time_beg = microtime ( true);
//realice su consulta aquí
$ tiempo_final = microtime ( true);
$ time_res = $ tiempo_final - $ tiempo_inicio ;
echo " la consulta se llevó $ time_res segundo " ;
Esto ayuda a confirmar que la consulta es la parte lenta y no alguna otra parte de su código. Ejecute el código varias veces hasta que tenga la misma hora . Compare este valor de tiempo al realizar las modificaciones temporales futuros
5
comprobar si hay errores con la función " mysql_error " agregando el siguiente código donde se encuentra su consulta: .
$ resultado = mysql_query ( $ consulta ) ;
si {
$ msg = 'Error de consulta: ' mysql_error () ( $ result !) . . " \\ n";
die
($ msg)
}
6
Utilice la extensión PDO_MYSQL PHP para consultar la base de datos en lugar de la " mysql_query " estándar o funciones " mysqli ". La extensión PDO_MYSQL utiliza soporte declaración preparada nativa de MySQL , que puede ayudar a acelerar las consultas. El código siguiente es un ejemplo de cómo enviar una consulta MySQL con la extensión PDO_MYSQL :
$ db_info = ' mysql : host = localhost , port = 3306 ; dbname = mydb ' ;
$ user = ' nombre de usuario ' ;
$ pass = ' contraseña';
try {
$ db_handle = new PDO ($ db_info , $ user , $ pass ) ;
}
catch ( PDOException $ exception ) {
printf ("Error :% s " , $ exception -> getMessage ());
}
$ db_handle -> setAttribute ( PDO :: ATTR_ERRMODE , PDO :: ERRMODE_EXCEPTION ) ;
$ db_handle -> setAttribute ( PDO :: ATTR_AUTOCOMMIT , false) ;
< p> $ sql = "SELECT * FROM mitabla " ;
$ result_set = $ db_handle -> query ( $ sql ) ;
$ result_set -> setFetchMode ( PDO :: FETCH_ASSOC ) ;
while ( $ row = $ result_set -> fetch ( )) {
$ data = $ row [" micolumna "]; }
< p > $ result_set -> closeCursor ();