Tecnología

Inicio

Cómo optimizar MySQL

MySQL es un motor de base de datos similar a PostgreSQL, Oracle o MS SQL Server en el que le permite crear tablas y almacenar datos.

Para muchos sitios web dinámicas MySQL es un requisito para la operación - y es un enorme potencial cuello de botella si la aplicación y el servidor no están configurados correctamente

Instrucciones

1 Optimizar la tabla de gestión contra las tablas
Este comando desfragmenta una mesa después de haber eliminado una gran cantidad de filas de la misma.

2 Utilice inserción retardada cuando no se necesita la gratificación instantánea - una respuesta al instante - cuando los datos se escribe. Esto reduce el impacto global de inserción debido a que muchas filas se pueden escribir con una sola escritura en el disco.

3 utilizar las prioridades de los estados

* Use INSERT LOW_PRIORITY when you want to give SELECT statements higher priority than your inserts.

* Utilice SELECT HIGH_PRIORITY para conseguir recuperaciones que saltan la cola. Es decir, el SELECT se ejecuta incluso si hay otra de espera de cliente.

4 Utilice las instrucciones INSERT de varias filas para almacenar muchas filas con una instrucción SQL.

5 No utilice permisos complejos. Cuanto más compleja sea la configuración de los permisos, la más sobrecarga que tiene. Trate de usar comandos GRANT simples para reducir la sobrecarga mirando hacia arriba y permisos que solicitan causarán.

6 Al analizar el rendimiento de consulta, también es útil tener en cuenta la palabra clave explicar. Esta palabra clave, cuando se coloca delante de una consulta SELECT, se describe cómo MySQL tiene la intención de ejecutar la consulta y el número de filas que tendrá que procesar para entregar con éxito un conjunto de resultados.

Ejemplo de uso: explicar selecto * de la tabla

7 Pruebe a optimizar la cláusula where

Retire parentheseswhen innecesario el uso de "count (*)" en las bases de datos no MyISAM asegurarse de que tiene índices presentmake sus cláusulas, donde lo más específico posible

8 Usar índices
MySQL que permite a las tablas de base de datos de índice, por lo que es posible buscar rápidamente a los registros sin realizar un escaneo completo de tabla en primer lugar y por lo tanto significativamente la aceleración de ejecución de la consulta. Puede tener hasta 16 índices por tabla, y MySQL también soporta índices de varias columnas y el texto completo de los índices de búsqueda.

La adición de un índice para una tabla es tan simple como llamar el comando CREATE INDEX y especificando el campo (s) de índice.

9 Ajustar las variables internas del servidor, tales como key_buffer, read_buffer_size, table_cache, query_cache_size, query_cache_type, query_cache_limit y long_query_time puede recorrer un largo camino. No hay una "respuesta correcta" para esos valores, por lo que necesita para jugar con ellos. que serán diferentes en cada servidor.

Consejos y advertencias

  • Esta variable controla el tamaño de la memoria intermedia use durante el manejo índices de mesa (tanto de lectura y escritura). El manual de MySQL recomienda que esta variable se aumentará "a lo más que puede permitirse" para asegurarse de que obtiene el mejor rendimiento en las tablas indexadas, y recomienda un valor equivalente a aproximadamente el 25 por ciento de la memoria total del sistema. Esta es una de las variables más importantes de configuración de MySQL y si usted está interesado en la optimización y la mejora del rendimiento
  • Cuando aumenta max_connections asegúrese de aumentar también las tablas máximos abiertas, de lo contrario se le puede permitir que más personas se conectan y consulta a continuación las tablas se pueden permitir, frenando así los tiempos de respuesta.