“Conocimiento Programación>Programación PHP /MySQL

Mi consulta es rápida y lenta en MySQL en PHP

2016/3/8
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 ();

Programación PHP /MySQL
¿Cómo cifrar un archivo PHP
¿Cómo se recuperan datos de una tabla de mysql a jsp?
Cómo poner contenido variable en un archivo con PHP
Cómo mostrar la imagen y no el link de un Registro Dreamweaver De la Base de Datos
Cómo programar una bala en PHP
Cómo enviar una misa PHP Email
Cómo comprobar una dirección válida de correo electrónico en PHP
¿Cómo recuperas una tabla MySQL entera usando PHP?
Conocimiento de la computadora © http://www.ordenador.online