Contenidos
Guía de ajuste de alto rendimiento de MySQL
Consejos para ajustar MySQL como un profesional | Aprenda a prevenir problemas de rendimiento de MySQL
Lo que aprenderás
Guía de ajuste de alto rendimiento de MySQL
- Comprender cómo MySQL optimiza y ejecuta consultas.
- Encuentre dónde pasa la mayor parte del tiempo MySQL en su consulta y por qué?
- Encontrar esas pocas consultas que son responsables de la mayor parte de la carga en el sistema.
- ¿Cómo encontrar la información relevante entre la gran cantidad de vistas de rendimiento y métricas disponibles en MySQL?
- ¿Cómo se planifican automáticamente las consultas antes de la ejecución, basándose en estadísticas y decisiones de costos?
- ¿Comprende qué es un índice agrupado?
- ¿Cómo elegir la clave primaria óptima?
- Encuentre qué tablas necesitan un índice y qué tablas son mejores sin uno.
- ¿Cómo podemos ayudar a MySQL Optimizer a tomar mejores decisiones?
- ¿Cuáles son los errores comunes cuando se utilizan índices en varias columnas?
- ¿Cuáles son los casos de uso que hacen que los índices redundantes sean útiles y cuándo evitarlos?
- Cubre las mejores prácticas para realizar configuraciones de servidor
- ¿Cuáles son las tres opciones de las que es más probable que se beneficie MySQL, de los valores no predeterminados, y también cómo configurarlos?
- Ciclo de vida de los datos en InnoDB, para que tengamos conocimientos previos al realizar cambios de configuración.
- Obtenga una descripción general de por qué se necesitan transacciones y bloqueos y algunas formas de reducir su impacto.
- Introducción a las opciones de escalado de MySQL
- Conceptos fundamentales para escalar lecturas con replicación
- Cómo particionar datos en MySQL
- Conceptos fundamentales para escalar escrituras con cola y fragmentación
Requisitos
- Necesita acceso a una PC con Windows / Mac / Linux con 10 GB de espacio libre en disco
- Se espera una familiaridad básica con los objetos de la base de datos, como tablas e índices.
- Alguna familiaridad con Linux será útil
Descripción
Arquitectura MySQL
- Ver los pasos involucrados en la ejecución de consultas
- Cómo afecta el protocolo Cient / Server a MySQL
- Entender cómo los Optimizador de consultas hace su trabajo
- Cómo Capa de motor de almacenamiento marcas MySQL único
Encontrar candidatos para las optimizaciones de consultas
- Haciendo uso de The Performance Schema, que es una mina de oro para detectar consultas de optimización porque nos permite medir dónde pasa el tiempo.
- Encontrar las pocas consultas que son responsables de la mayor parte de la carga del sistema. Por lo general, no vale la pena dedicar tiempo a optimizar las 1000 consultas principales.
- Cómo encontrar la información relevante entre la gran cantidad de vistas y métricas de rendimiento disponibles en MySQL
- Comprenda por qué las declaraciones UPDATE y DELETE también son lecturas aunque sean principalmente declaraciones de escritura. Esto tendrá un impacto en la E / S y, por lo tanto, en el tiempo de respuesta.
Analizando las consultas
- Comprenda por qué MySQL crea un plan de consulta, antes de cada solicitud de consulta
- Cómo leer planes de consulta y comprender cómo funciona cada uno de los tipos de nodos subyacentes en MySQL
- Una serie de ejemplos, para mostrar cómo se puede utilizar la salida EXPLAIN, para identificar donde MySQL pasa tiempo en su consulta, y por qué
- Cuáles son los datos importantes que se deben buscar para detectar problemas de rendimiento
El índice agrupado y la elección de la clave principal
- Cuando trabajamos con tablas organizadas por índices, como las de MySQL, la elección del índice principal es muy importante.
- Veremos cómo la clave principal puede afectar la cantidad de E / S secuenciales o aleatorias, el tamaño de los índices secundarios y cuántas páginas deben leerse en el grupo de búfer.
- Vamos a entender por qué una clave primaria óptima, con respecto al índice agrupado, es tan pequeño (en bytes) como sea posible, mantiene aumentando monótonamente, y agrupa las filas que consultamos con frecuencia y a poca distancia entre sí.
Indexación por rendimiento
- ¿Cuáles son la función principal de un índice?
- Veremos exactamente qué tablas necesitan un índice y qué tablas son mejores sin uno.
- Comprobaremos en qué se basa MySQL Estadísticas para elegir el mejor índice y cómo podemos ayudarlo a tomar mejores decisiones.
Índices compuestos
- Errores comunes de los índices compuestos
- Como decidir el orden de las columnas para índices multicolumna
- Ser capaz de razonar sobre cómo funcionan los índices y elegirlos basándose en esa comprensión, no en reglas generales.
- ¿Cuáles son los casos de uso que hacen Índices redundantes útiles y cuándo evitarlos.
- Trabaje en algunos puntos de referencia para comprobar el rendimiento real en cifras.
Configuraciones del servidor MySQL
- Compruebe cómo deberíamos abordar los cambios de configuración de MySQL considerando algunas de las mejores prácticas, para que podamos ajustar MySQL con éxito.
- Cuáles son las tres opciones de las que es más probable que se beneficie MySQL, a partir de valores no predeterminados, y también cómo configurarlos.
- Repase una descripción general del ciclo de vida de los datos en InnoDB, para que tengamos conocimientos básicos al realizar cambios de configuración.
- Ajuste los parámetros que son importantes para ciertos casos de uso, por ejemplo, instancias de grupos de búfer para altas cargas de trabajo simultáneas y cómo hacer uso de la ejecución paralela para ciertas consultas.
Transacciones y bloqueos de MySQL
- Las transacciones son muy importantes para garantizar la integridad de los datos, pero cuando se usan incorrectamente pueden causar graves problemas de rendimiento.
- Obtenga una descripción general de por qué se necesitan cerraduras y algunas formas de reducir su impacto.
- Cómo indexa, dividiendo la transacción y el niveles de aislamiento puede ayudar a reducir el número de bloqueos
- Opciones de seguimiento y qué reportando mesas para comprobar para detectar problemas de bloqueo.
Introducción al escalado de MySQL
- Qué significa escalar MySQL y, analizaremos los diferentes ejes en los que es posible que necesitemos escalar.
- Entender cómo escalar diferentes tipos de cargas
- Replicación y por qué necesitamos utilizar Read-Pools, Health Checks y Service Discovery
- ¿Cuáles son las principales preocupaciones y escollos a la hora de decidir Casco la base de datos
- Cómo datos de partición en MySQL
- ¿Cuáles son los casos de uso y las ventajas de utilizar un Cola
- Conceptos fundamentales para escalar escrituras con fragmentación