Aplicaciones, Consejos

8 Trucos para cualquier persona que desarrolle para MySQL



febrero 1, 2020

Desde que se lanzó el 1995, MySQL se ha convertido rápidamente en el DBMS (Sistema de gestión de bases de datos) más popular del mundo . Con tanta popularidad viene la responsabilidad e innumerables mejoras, actualizaciones y trucos ingeniosos.

1. NO EDITAR LOS ARCHIVOS (DUMP FILES)

Si alguna vez has visto los archivos de volcado creados por mysqldump, sabes que parecen archivos de texto normales. Pero aquellos que han tratado de editar tales archivos al menos una vez saben que esto no es lo que parece en absoluto.

Mucha gente intenta editar los archivos de volcado con un editor de texto estándar y los corrompe. La única forma garantizada de evitar errores es NO corregir los archivos de volcado.

2. TAMAÑO DEL BLOQUE DE MIISAM (MYISAM BLOCK SIZE)

Una de las configuraciones más oscuras es el tamaño del bloque de índice para las tablas de MyISAM. El valor de myisam_block_size está en. Los archivos de MYI en el buffer de claves así como en el disco. El valor estándar es de 1 kilobyte, que es demasiado pequeño para los sistemas modernos.

La mayoría de los sistemas de archivos utilizan bloques más grandes. Y sabemos que escribir un solo bloque de índice requerirá leer primero, y luego escribir. El sistema operativo no escribirá en el disco principal mientras el tamaño del bloque del índice sea igual o mayor que el tamaño del bloque del sistema de archivos.

3. HABILITANDO DELAY_KEY_WRITE

Por defecto, la opción delay_key_write está desactivada. Esto se debe a que si se produce un fallo en un proyecto que utiliza MyISAM, obtendrá una base de datos corrupta. Entonces, ¿por qué necesitaría activar esta función? Bueno, es simple. Porque habilitar delay_key_write asegura que la base de datos no borrará el archivo de claves MyISAM después de cada operación de escritura.

Por eso, si vas a escribir pronto, te ahorrarás mucho tiempo. La forma de activar delay_key_write depende de la versión. Para aprender a habilitar esta opción en su versión de MySQL, por favor, utilice la ayuda de la página web oficial.

4. ASOCIACIONES: AL CREAR COLUMNAS DE LOS MISMOS TIPOS, NO SE OLVIDE DE LOS ÍNDICES.

MySQL requiere conocimiento de cómo optimizar las operaciones de JOIN. Por lo tanto, si tiene una aplicación con un gran número de consultas JOIN, las columnas deben ser indexadas en ambas tablas. Asegúrate de que las columnas que combinas son del mismo tipo y tienen la misma codificación.

De lo contrario, MySQL intentará realizar un escaneo completo de la tabla. Siempre que necesite extraer información de sus tablas, simplemente modifique las consultas para obtener información de columnas específicas.

5. DEFINIR DONDE CON EL PARÁMETRO EXPLAIN

Digamos que buscas una fila, pero la consulta se hace para todas las mesas. ¿Por qué no optimizar el rendimiento añadiendo un parámetro LÍMITE y devolviendo sólo la parte que se solicitó? Este método, en lugar de ver toda la tabla o índice, detendrá la búsqueda después de encontrar la fila que está buscando. Puedes leer sobre cómo implementar esta técnica en este artículo. Este es un truco bastante simple.

6. AÑADIR LA PALABRA CLAVE EXPLICAR A LAS CONSULTAS SELECCIONAR

Cualquiera que use MySQL, ya sea un usuario experimentado o un principiante, apreciará la conveniencia y la simplicidad de este consejo. Añadiendo la palabra clave EXPLICAR, puede apuntar con más precisión a MySQL a lo que su consulta debe hacer. EXPLAIN puede especificar cómo serán escaneadas sus tablas, los índices utilizados, y similares.

Crear una compleja consulta SELECT con uniones y añadir EXPLAIN antes de ella. Puede evaluar el resultado inmediatamente. Usa este truco para ahorrar tiempo.

7. QUERY CACHE: OPTIMICE SUS PETICIONES

El cacheo de consultas en los servidores de MySQL suele estar habilitado. Esto se debe a que cuando se trata de mejorar el rendimiento, el almacenamiento en caché de consultas es uno de los métodos más eficaces disponibles para los motores de bases de datos.

Una misma consulta puede ser ejecutada varias veces. Y es mucho más rápido solicitar el resultado final del caché. Sin embargo, esto no está disponible para la consulta de CURDATE (fecha actual). Para implementar el cacheo de CURDATE, simplemente agregue una cadena PHP antes de solicitarlo:

// CURDATE no está definido
$ query = ' SELECCIONAR  ID  DE la  tabla  WHERE edit_date = CURDATE () ';

8. USAR EL RASTREO DE LA PILA PARA EVITAR ERRORES

Hay un montón de trucos y secretos de MySQL en skysql.com. Vamos a tratar con uno de ellos en este corto subtítulo porque es realmente muy fácil de pasar. La opción «stack_trace» de MySQL puede ser usada para averiguar cuál es el problema y arreglarlo.

De todas las aplicaciones posibles, la más interesante es probablemente saber cómo un puntero nulo puede introducir fácilmente el caos en su código. Y lo fácil que puede ser identificado, rastreado y corregido usando los consejos de Sky SQL.

No Comments

Leave a Reply