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.
Le informazioni nella sezione "Riassunto" possono far riferimento a edizioni diverse di questo titolo.
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 Índices de árbol B Índices hash Índices espaciales (árbol R) Índices de texto completo Estrategias de indizado para un alto rendimiento Aislar la columna Índices de prefijos y selectividad del índice Índices agrupados Comparación de diseños de datos InnoDB y MyISAM Insertar filas en un orden de clave primaria con InnoDB Índices de cobertura Utilizar escaneados de índice para ordenar Índices empaquetados (comprimidos por prefijo) Índices redundantes y duplicados Índices 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 las vistas en el rendimiento Limitaciones de las vistas Conjuntos de caracteres y compaginaciones Cómo utiliza MySQL los conjuntos de caracteres Valores predeterminados para la creación de objetos Valores de configuración para la comunicación entre el cliente y el servidor Cómo compara MySQL los valores Comportamientos especiales Elegir un conjunto de caracteres y una compaginación Cómo afectan a las consultas los conjuntos de caracteres y las compaginaciones Búsqueda de texto completo Búsquedas de texto completo en lenguaje natural Búsquedas booleanas de texto completo Cambios de texto completo en MySQL 5.1 y algo más Problemas y soluciones del texto completo Ajuste y optimización de texto completo Limitaciones de las claves externas Tablas combinadas y particionadas Tablas combinadas Impactos en el rendimiento de la tabla combinada Ventajas de las tablas combinadas Tablas particionadas Por qué funcionan las particiones Ejemplos de particiones Limitaciones de las tablas particionadas Optimización de consultas frente a tablas particionadas Transacciones (XA) distribuidas Transacciones XA internas Transacciones XA externas Capítulo 6. Optimizar las configuraciones del servidor Elementos básicos de configuración Sintaxis, ámbito y dinamismo Consecuencias secundarias del establecimiento de variables Inicio Ajuste general Ajustar el uso de memoria ¿Cuánta memoria puede utilizar MySQL? Necesidades de memoria por conexión Reservar memoria para el sistema operativo Asignación de memoria para cachés La caché de claves MyISAM Tamaño del bloque de claves MyISAM El conjunto de búferes de InnoDB La caché de subprocesos La caché de tablas Diccionario de datos InnoDB Ajustar el comportamiento E/S de MySQL Ajuste E/S de MyISAM Ajuste E/S de InnoDB Registro de transacción de InnoDB Cómo abre y vuelca InnoDB los archivos de registro y de datos Espacio de tablas de InnoDB Búfer de doble escritura Otras opciones E/S Ajustar la concurrencia de MySQL Ajuste de la concurrencia MyISAM Ajuste de la concurrencia de InnoDB Ajuste basado en la carga de trabajo Optimizar para cargas de trabajo BLOB y TEXT Inspeccionar las variables de estado del servidor MySQL Ajustar las configuraciones por conexión Capítulo 7. Optimización del sistema operativo y del hardware Limitaciones de rendimiento de MySQL Cómo seleccionar una CPU para MySQL ¿Qué es mejor: CPU rápidas o muchas CPU? Arquitectura de la CPU Escalar a muchas CPU y núcleos Equilibrar los recursos de la memoria y del disco E/S aleatoria frente a E/S secuencial Memoria caché, lecturas y escrituras ¿Cuál es su conjunto de trabajo? El conjunto de trabajo y la unidad de caché Encontrar una proporción efectiva memoria-disco Seleccionar discos duros Elegir el hardware para un esclavo Optimización del rendimiento de RAID Fallo, recuperación y supervisión ...
Le informazioni nella sezione "Su questo libro" possono far riferimento a edizioni diverse di questo titolo.
EUR 17,50 per la spedizione da Spagna a Italia
Destinazione, tempi e costiDa: OM Books, Sevilla, SE, Spagna
Condizione: Usado - bueno. Codice articolo 9788441525078
Quantità: 1 disponibili