sql >> Base de Datos >  >> RDS >> Mysql

Los 10 datos y consejos más interesantes sobre MySQL

MySQL es el sistema de administración de bases de datos relacionales de código abierto de más rápido crecimiento con 100 millones de descargas hasta la fecha. Es una opción popular de base de datos para usar en aplicaciones web y actualmente es utilizada por muchos sitios web grandes, incluidos Facebook, Twitter, Wikipedia, Flickr, YouTube, etc. Ahora, descubramos los 10 datos y consejos más interesantes sobre MySQL.

Datos interesantes y consejos sobre MySQL

1. MySQL admite hasta 64 índices por tabla. Cada índice puede constar de 1 a 16 columnas. El tamaño máximo del índice es de 1000 bytes (767 para InnoDB).

2. El tamaño máximo de una fila en una tabla MySQL es de 65 535 bytes. Y el valor máximo de Entero con signo es 2.147.483.647 y el valor de Entero sin signo es 4.294.967.295. En una tabla mixta con CHAR y VARCHAR, MySQL cambiará los CHAR a VARCHAR.

3. Si un índice PRIMARY KEY o UNIQUE consta de una sola columna que tiene un tipo de número entero, también puede hacer referencia a la columna como "_rowid" en las instrucciones SELECT.

4. Para cambiar el valor de AUTO_INCREMENT, use “ALTER TABLE AUTO_INCREMENT =value;” o “SET INSERT_ID =valor;”

5. Para restringir el acceso público a MySQL, use la opción "skip-networking" en el archivo de configuración. Cuando está habilitado, MySQL solo escucha las conexiones de socket locales e ignora todos los puertos TCP. Y el parámetro "bind-address" que se establece en "127.0.0.1" restringe MySQL para que solo sea accesible por el servidor local.

6. Si MySQL tiene muchas conexiones establecidas (es decir, un sitio web sin conexiones persistentes), puede mejorar el rendimiento configurando thread_cache_size en un valor distinto de cero. 16 es un buen valor para empezar. Aumente el valor hasta que sus threads_created no crezcan muy rápidamente.

7. NO_AUTO_VALUE_ON_ZERO suprime el incremento automático de 0. Solo NULL genera el siguiente número de secuencia. Este modo puede ser útil si se ha almacenado 0 en la columna AUTO_INCREMENT de una tabla. (Almacenar 0 no es una práctica recomendada, por cierto).

8. Las opciones de configuración "innodb_analyze_is_persistent", "innodb_stats_persistent_sample_pages" e "innodb_stats_transient_sample_pages" brindan una precisión mejorada de las estadísticas del índice de InnoDB y consistencia en los reinicios de MySQL. InnoDB precalcula estadísticas que ayudan al optimizador a decidir qué índices utilizar en una consulta, mediante el muestreo de una parte del índice. Puede ajustar la cantidad de muestreo que hace InnoDB para cada índice. Las estadísticas resultantes ahora pueden persistir entre reinicios del servidor, en lugar de volver a calcularse (y posiblemente cambiar) debido a reinicios y algunos eventos de tiempo de ejecución. Las estadísticas más precisas pueden mejorar el rendimiento de las consultas y el aspecto de persistencia puede mantener estable el rendimiento de las consultas. Cuando la función de estadísticas persistentes está habilitada, las estadísticas solo se vuelven a calcular cuando ejecuta explícitamente ANALYZE TABLE para la tabla.

9. InnoDB libera la memoria asociada con una tabla abierta para aliviar la carga de memoria en sistemas con una gran cantidad de tablas. Un algoritmo LRU selecciona las tablas que han pasado más tiempo sin acceder. Para reservar más memoria para tablas abiertas, aumente el valor de la opción de configuración –table_definition_cache=#.

10. Configure el parámetro table_cache para que coincida con el número de tablas abiertas y conexiones simultáneas. Observe el valor de open_tables y, si está creciendo rápidamente, debe aumentar el tamaño de "table_cache". Y para el parámetro "open_file_limit", establezca este límite en 20+max_connections+table_cache*2. Si tiene consultas complejas, es probable que "sort_buffer_size" y "tmp_table_size" sean muy importantes. Los valores dependerán de la complejidad de la consulta y los recursos disponibles, pero se recomiendan 4 Mb y 32 Mb, respectivamente, como puntos de partida.

Nota:Estos son valores "por conexión". Por lo tanto, tenga en cuenta su carga y los recursos disponibles al configurar estos parámetros. Por ejemplo, sort_buffer_size se asigna solo si MySQL necesita ordenar, tenga cuidado de no quedarse sin memoria.