Galería de mapas mentales Enciclopedia de procesamiento lento de SQL
Enciclopedia de procesamiento MySQL ~ todo el conocimiento que desea está aquí. SQL lento puede dañar el buen funcionamiento de los servicios y es el mayor peligro oculto que a menudo causa inquietud en las aplicaciones en el desarrollo diario.
Editado a las 2023-10-11 14:05:10,El cáncer de pulmón es un tumor maligno que se origina en la mucosa bronquial o las glándulas de los pulmones. Es uno de los tumores malignos con mayor morbilidad y mortalidad y mayor amenaza para la salud y la vida humana.
La diabetes es una enfermedad crónica con hiperglucemia como signo principal. Es causada principalmente por una disminución en la secreción de insulina causada por una disfunción de las células de los islotes pancreáticos, o porque el cuerpo es insensible a la acción de la insulina (es decir, resistencia a la insulina), o ambas cosas. la glucosa en la sangre es ineficaz para ser utilizada y almacenada.
El sistema digestivo es uno de los nueve sistemas principales del cuerpo humano y es el principal responsable de la ingesta, digestión, absorción y excreción de los alimentos. Consta de dos partes principales: el tracto digestivo y las glándulas digestivas.
El cáncer de pulmón es un tumor maligno que se origina en la mucosa bronquial o las glándulas de los pulmones. Es uno de los tumores malignos con mayor morbilidad y mortalidad y mayor amenaza para la salud y la vida humana.
La diabetes es una enfermedad crónica con hiperglucemia como signo principal. Es causada principalmente por una disminución en la secreción de insulina causada por una disfunción de las células de los islotes pancreáticos, o porque el cuerpo es insensible a la acción de la insulina (es decir, resistencia a la insulina), o ambas cosas. la glucosa en la sangre es ineficaz para ser utilizada y almacenada.
El sistema digestivo es uno de los nueve sistemas principales del cuerpo humano y es el principal responsable de la ingesta, digestión, absorción y excreción de los alimentos. Consta de dos partes principales: el tracto digestivo y las glándulas digestivas.
Guía de procesamiento lento de SQL
pregunta
SQL lento puede dañar el buen funcionamiento de los servicios y es el mayor peligro oculto que a menudo causa inquietud en las aplicaciones en el desarrollo diario.
Solución de problemas y resolución de SQL lento
Los peligros ocultos del SQL lento
Impacto en el buen funcionamiento de los servicios
Problemas comunes en el desarrollo diario.
Formas de evitar SQL lento
Optimizar consultas SQL
Dividir SQL complejo
Identificar SQL complejo
Identificar estructuras complejas como subconsultas, consultas relacionadas y funciones agregadas en SQL
Identificar uniones de varias tablas, ordenar, agrupar y otras operaciones en SQL
Desglose SQL complejo
Divida el SQL complejo en múltiples consultas simples de una sola tabla
Reduzca operaciones como uniones, clasificación y agrupación de varias tablas
Optimizar consulta de tabla única
Usar índice
Reducir el volumen de datos
Optimizar las condiciones de consulta
Fusionar resultados de consultas de una sola tabla
Utilice operaciones como UNION y UNION ALL para fusionar resultados de consultas de una sola tabla
Evite el uso de operaciones JOIN para combinar resultados
Optimizar los resultados de la combinación
Reducir la cantidad de datos en resultados combinados
Optimice la clasificación, agrupación y otras operaciones de resultados combinados;
Analiza el problema y utiliza EXPLICAR.
Utilice el comando EXPLICAR
Ver plan de ejecución
Analizar el uso del índice
Comprobar distribución de datos
evitar factores problemáticos
SQL complejo por razones históricas
Crecimiento del volumen de datos
Ideas para resolver SQL lento
Observar SQL
Comprender los escenarios empresariales
Ordenar las relaciones
analizar el problema
Utilice la declaración EXPLICAR
Indicadores de análisis (tipo, claves_posibles, clave, filas, extra)
Especificar plan
Transformado en consulta de paginación.
Obtenga directamente la cantidad total de datos y ordénelos en la memoria
Subconsulta cambiada a consulta relacionada
Utilice force_index para especificar el índice o modificar el método de clasificación
Utilice LIMIT y paginación para evitar escaneos completos de tablas
Optimice situaciones en las que la distorsión de datos es grave
Utilice ES para consultar o limitar la profundidad de paginación
Principios de optimización
Crear índices apropiados
Comprender los tipos de índice
índice ordinario
Adecuado para la mayoría de escenarios
índice único
Se aplica a campos de valor únicos
índice compuesto
Adecuado para múltiples combinaciones de campos
índice espacial
Adecuado para datos espaciales
Índice de texto completo
Bueno para búsqueda de texto
Seleccionar campo de índice
Seleccione campos consultados con frecuencia
Elija campos altamente distinguibles
Elija campos de longitud adecuada
Evaluar el desempeño del índice
Utilice el comando EXPLICAR
Ver plan de ejecución
Analizar el uso del índice
Optimizar la estrategia de indexación
Mantener el índice regularmente
Eliminar índices redundantes
índice de fusión
Ajustar el orden del índice;
Reducir el acceso innecesario a las columnas
Usar índice de cobertura
¿Qué es un índice de cobertura?
El índice de cobertura significa que en la declaración de consulta, todos los datos requeridos se pueden obtener del índice sin la necesidad de volver a consultar la tabla.
Ventajas: reduzca la cantidad de consultas de tablas y mejore la eficiencia de las consultas
Desventajas: puede hacer que el índice sea demasiado grande, lo que afectará el rendimiento de escritura.
Cómo crear un índice de cobertura
Elija la columna de índice adecuada
Seleccione columnas de uso frecuente en declaraciones de consulta como columnas de índice
Seleccione columnas con alta distinción como columnas de índice
Crear índice compuesto
Combine varias columnas en un índice compuesto
Los índices compuestos pueden mejorar la eficiencia de las consultas y reducir la cantidad de índices
Cosas a tener en cuenta al utilizar índices de cobertura
Evite operaciones funcionales en columnas indexadas
Las operaciones de funciones pueden causar fallas en el índice
Evite la conversión de tipos en columnas indexadas
La conversión de tipos puede causar fallas en el índice
Evite cálculos en columnas indexadas
El cálculo puede provocar fallos en el índice.
Evite consultas difusas en columnas indexadas
Las consultas difusas pueden provocar errores en el índice
Evite ordenar en columnas indexadas
La clasificación puede causar fallas en el índice
Evite la paginación en columnas de índice
La paginación puede causar fallas en el índice.
Evite la agregación en columnas indexadas
La agregación puede causar fallas en el índice;
Reescritura de declaraciones
Optimización de declaraciones de consulta
Usar índice
Asegúrese de que los campos de criterios de consulta estén indexados
Evite el uso de funciones u operadores que puedan causar fallas en el índice.
Reducir el volumen de datos
Utilice LIMIT para limitar la cantidad de datos devueltos
Filtrar datos usando la cláusula WHERE
Evite el uso de subconsultas
Utilice la declaración JOIN en lugar de la subconsulta
Utilice la cláusula EXISTS en lugar de una subconsulta
Optimizar las condiciones del quirófano
Utilice la condición UNION en lugar de OR
Utilice condiciones IN en lugar de OR
Optimización de la declaración de actualización
Actualización por lotes
Uso de transacciones para actualizaciones por lotes
Uso de procedimientos almacenados para actualizaciones por lotes
Reducir la contención de bloqueo
Evite mantener las cerraduras durante largos períodos de tiempo.
Nivel de aislamiento de transacciones más bajo
Eliminar optimización de declaración
Utilice LIMIT para limitar la cantidad de datos eliminados
Usar transacciones para eliminación masiva
Utilice procedimientos almacenados para la eliminación de lotes;
Transferencia de datos
¿Qué son los datos transferidos?
La transferencia de datos es el movimiento de datos de un lugar a otro.
Razones para la transferencia de datos
El volumen de datos es demasiado grande
El formato de datos es incompatible
Es necesario procesar los datos
Cómo se transfieren los datos
Copiar directamente
Exportar importar
Conectividad de base de datos
Optimización de la transferencia de datos
Elija el método de transferencia de datos adecuado
La copia directa es adecuada para pequeños volúmenes de datos
La exportación y la importación son adecuadas para grandes cantidades de datos.
La conexión a la base de datos funciona con datos en tiempo real
Optimice la velocidad de transferencia de datos
Aumentar el ancho de banda de la red
Optimizar consultas de bases de datos
Optimizar el formato de datos
Notas sobre la transferencia de datos
Mantenga sus datos seguros
Utilice transmisión cifrada
Acceso restringido
Garantizar la integridad de los datos
Utilice el procesamiento de transacciones
Haga una copia de seguridad de los datos con regularidad;
Seleccione la columna apropiada para ordenar
Evite el uso de tipos de cadenas para ordenar
El rendimiento de clasificación de tipos de cadenas es deficiente
Se recomienda utilizar tipos numéricos para ordenar.
Evite el uso de expresiones para ordenar
El rendimiento de clasificación de expresiones es deficiente
Se recomienda utilizar valores de columna para ordenar.
Evite el uso de varias columnas para ordenar
Bajo rendimiento de clasificación de varias columnas
Se recomienda utilizar una sola columna para ordenar.
Evite el uso de columnas de clasificación para agrupar
El rendimiento de la clasificación de agrupaciones de columnas es deficiente
Se recomienda utilizar otras columnas para agrupar;
Redundancia de columnas adecuada
La redundancia de columnas puede reducir la cantidad de uniones de tablas
Cuantas más conexiones haya, menor será la velocidad de consulta.
La redundancia de columnas puede reducir la cantidad de conexiones y aumentar la velocidad de consulta
La redundancia de columnas reduce la E/S del disco
Cuantas más veces de E/S de disco, más lenta será la velocidad de consulta.
La redundancia de columnas puede reducir la E/S del disco y aumentar la velocidad de consulta
La redundancia de columnas puede reducir la complejidad de las consultas
Cuanto mayor sea la complejidad de la consulta, más lenta será la velocidad de la consulta.
La redundancia de columnas puede reducir la complejidad de las consultas y mejorar la velocidad de las mismas.
La redundancia de columnas mejora el rendimiento de las consultas
Cuanto mejor sea el rendimiento de la consulta, más rápida será la velocidad de la consulta.
La redundancia de columnas puede mejorar el rendimiento de las consultas y aumentar la velocidad de las consultas;
división SQL
Razón de la división
Mejorar la eficiencia de las consultas
Reducir la contención de bloqueo
Mejorar la mantenibilidad
método dividido
dividir verticalmente
Dividir según funciones comerciales
Se puede mantener de forma independiente después de dividirlo.
Reducir el acoplamiento
dividir horizontalmente
Dividir por rango de datos
Mejorar el rendimiento de las consultas
Reducir la redundancia de datos
Principio de división
Minimizar divisiones
Evite dividir demasiado
Reducir los costos de mantenimiento
Maximizar la utilización de los recursos de hardware
Mejorar el rendimiento de las consultas
Reducir los costos de hardware
Minimizar la redundancia de datos
Reducir la inconsistencia de los datos
Mejorar la precisión de los datos
Maximice la independencia de los datos
Reducir el acoplamiento de datos
Mejorar la mantenibilidad de los datos;
Aplicación adecuada de ES