MYSQL avanzado.(Segunda edición)
Shuwartz, Baron/Zaitsev, Meter/Tkachenko, Vadim

Sinopsi MYSQL avanzado.(Segunda edición)

Esta obra le enseña a crear rápidamente sistemas fiables con MySQL. Escrito por expertos con una amplia experiencia práctica en la creación de grandes sistemas, esta edición analiza el rendimiento de MySQL con detalle y se centra en la solidez, la seguridad y la integridad de los datos. Aprenderá las técnicas avanzadas para que pueda aprovechar todo el potencial de MySQL, a diseñar esquemas, índices, consultas y opciones de MySQL avanzadas para obtener un máximo rendimiento. Además, tendrá una guía detallada para el ajuste de su servidor MySQL, sus sistemas operativos y su hardware para utilizar su máximo potencial. También se incluyen métodos prácticos, seguros y de alto rendimiento para escalar aplicaciones con el replicado, los balances de carga, la alta disponibilidad y los procedimientos contra fallos.Prólogo Introducción Organización de este libro Una amplia visión general Conseguir unos fundamentos sólidos Ajustar la aplicación Escalar hacia arriba tras realizar cambios Conseguir una aplicación fiable Diversos temas útiles Versiones y disponibilidad de software Convenciones Recursos útiles para el lector Capítulo 1. Arquitectura de MySQL Arquitectura lógica de MySQL Administración y seguridad de la conexión Optimización y ejecución Control de concurrencia Bloqueos de lectura y escritura Granularidad del bloqueo Bloqueos de tablas Bloqueos de fila Transacciones Niveles de aislamiento Interbloqueos Registro de transacciones Transacciones en MySQL AUTOCOMMIT Combinar motores de almacenamiento en las transacciones Bloqueos implícitos y explícitos Control de concurrencia de múltiples versiones Motores de almacenamiento de MySQL Motor MyISAM Almacenamiento Características de MyISAM Tablas MyISAM comprimidas Motor Merge de MyISAM Motor InnoDB Motor Memory Motor Archive Motor CSV Motor Federated Motor Blackhole Motor NDB Cluster Motor Falcon Motor solidDB Motor PBXT (Primebase XT) Motor de almacenamiento Maria Otros motores de almacenamiento Seleccionar el motor apropiado Consideraciones Ejemplos prácticos Registro Tablas de sólo lectura o principalmente de sólo lectura Procesamiento de orden Cotizaciones Boletines de anuncios y foros de discusiones anidadas Aplicaciones CD-ROM Resumen de los motores de almacenamiento Conversiones de tablas ALTER TABLE Dump e import CREATE y SELECT Capítulo 2. Buscar cuellos de botella: medida de rendimiento y perfilado ¿Por qué la medida de rendimiento? Estrategias de medidas de rendimiento Qué medir Tácticas de medidas del rendimiento Diseño y planificación de una medida de rendimiento Obtener resultados precisos Ejecutar las pruebas de comparación y analizar los resultados Herramientas de medida del rendimiento Herramientas de pila completa Herramientas de un solo componente Ejemplos de medidas de rendimiento http_load sysbench Prueba de comparación sysbench de la CPU Prueba de comparación de E/S de archivo de sysbench Prueba de comparación OLTP de sysbench Otros sistemas sysbench dbt2 TPC-C en Database Test Suite MySQL Benchmark Suite Perfilado Perfilar una aplicación Cómo y qué medir Ejemplo de perfilado PHP Registro de consultas Control más detallado del registro Cómo leer el registro de consultas lentas Herramientas de análisis de registro Perfilar un servidor MySQL Perfilar consultas con SHOW STATUS SHOW PROFILE Otros métodos de perfilado de MySQL Cuando no se puede añadir un código de perfilado Perfilado del sistema operativo Solución de problemas en conexiones y procesos MySQL Perfilado y solución de problemas avanzados Capítulo 3. Optimización del esquema e indizado Elegir los tipos de datos óptimos Números enteros Números reales Tipos de cadenas Tipos VARCHAR y CHAR Tipos BLOB y TEXT Utilizar ENUM en lugar de un tipo de cadena Tipos de fecha y hora Tipos de datos empaquetados en bits Elegir identificadores Tipos de datos especiales Elementos básicos del indizado Tipos de índices Indices de árbol B Indices hash Indices espaciales (árbol R) Indices de texto completo Estrategias de indizado para un alto rendimiento Aislar la columna Indices de prefijos y selectividad del índice Indices agrupados Comparación de diseños de datos InnoDB y MyISAM Insertar filas en un orden de clave primaria con InnoDB Indices de cobertura Utilizar escaneados de índice para ordenar Indices empaquetados (comprimidos por prefijo) Indices redundantes y duplicados Indices y bloqueos Un caso de estudio de índices Admitir muchos tipos de filtrado Evitar condiciones de múltiples rangos Optimizar las ordenaciones Mantenimiento de índices y de tablas Buscar y reparar daños en la tabla Actualizar estadísticas de índices Reducir el índice y la fragmentación de datos Normalización y desnormalización Ventajas e inconvenientes del esquema normalizado Ventajas e inconvenientes del esquema sin normalizar Una combinación de esquemas normalizados y sin normalizar Tablas de caché y de resumen Tablas de contadores Incrementar la velocidad de ALTER TABLE Modificar sólo el archivo .frm Crear índices MyISAM rápidamente Notas sobre los motores de almacenamiento Motor de almacenamiento MyISAM Motor de almacenamiento Memory Motor de almacenamiento InnoDB Capítulo 4. Optimización del rendimiento de las consultas Elementos básicos de una consulta lenta: optimización del acceso a datos ¿Estamos pidiendo a la base de datos más datos de los necesarios? ¿Está MySQL examinando demasiados datos? Tiempo de ejecución Filas examinadas y filas devueltas Filas examinadas y tipos de acceso Métodos de restructuración de consultas Consultas complejas frente a muchas consultas Fragmentar una consulta Descomposición de combinaciones Elementos básicos de la ejecución de consultas Protocolo cliente/servidor de MySQL Estados de consulta La caché de consultas Proceso de optimización de consultas El analizador sintáctico y el preprocesador Optimizador de consultas Estadísticas de tablas e índices Estrategia de ejecución de combinaciones en MySQL Plan de ejecución Optimizador de combinaciones Optimizaciones de ordenación Motor de ejecución de consultas Devolver resultados al cliente Limitaciones del optimizador de consultas de MySQL Subconsultas correlacionadas Cuándo saber que una subconsulta es buena Limitaciones de UNION Optimizaciones de combinación de índices Propagación de la igualdad Ejecución en paralelo Combinaciones hash Escaneos de índice sueltos MIN( ) y MAX( ) SELECT y UPDATE en la misma tabla Optimizar tipos específicos de consultas Optimizar consultas COUNT( ) Qué hace COUNT( ) Mitos sobre MyISAM Optimizaciones simples Optimizaciones más complejas Optimizar consultas JOIN Optimización de subconsultas Optimizar GROUP BY y DISTINCT Optimizar GROUP BY WITH ROLLUP Optimizar LIMIT y OFFSET Optimizar SQL_CALC_FOUND_ROWS Optimizar UNION Sugerencias del optimizador de consultas Variables definidas por el usuario Cuidado con las actualizaciones de MySQL Capítulo 5. Opciones avanzadas de MySQL La caché de consultas de MySQL Cómo comprueba MySQL si existe un acierto en caché Cómo utiliza la caché la memoria Cuándo es útil la caché de consultas Cómo ajustar y mantener la caché de consultas Reducir la fragmentación Mejorar el uso de la caché de consultas InnoDB y la caché de consultas Optimizaciones generales de la caché de consultas Alternativas a la caché de consultas Guardar código dentro de MySQL Procedimientos y funciones almacenadas Activadores Eventos Preservar comentarios en un código almacenado Cursores Instrucciones preparadas Optimización de una instrucción preparada Interfaz SQL para instrucciones preparadas Limitaciones de las instrucciones preparadas Funciones definidas por el usuario Vistas Vistas actualizables Implicaciones de la
EAN
9788441525078
Any d'edició
2009
Pàgines
832
Idioma
Castellano
Col·lecció
ANAYA MULTIMEDIA O'REILLY
Alt
225
Ample
175
Otros lectores lo han calificado con
Deixa’ns la teva opinió
0 opinions
Tu puntuación
Déjanos tu opinión
/ caracteres