Detalle del libro
Ver Índice
Prefacio
Distribución del resto del libro
Repaso de los fundamentos
Temas de referencia para el resto del libro
Dónde afinar las aplicaciones
Escalado tras la aplicación de cambios
Asegurarse de que el trabajo no haya sido en balde
Miscelánea
Versiones de software y disponibilidad
Agradecimientos
De Jeremy
De Derek
Capítulo 1. Repaso de los fundamentos
Instalación binaria o compilada a partir del código fuente
Archivos binarios de MySQL.com u otras distribuciones
Archivos de configuración
Ubicación de los archivos
Formato de los archivos
Archivos de ejemplo
Reconfiguración
El comando SHOW
SHOW VARIABLES
SHOW PROCESSLIST
SHOW STATUS
SHOW INNODB STATUS
Capítulo 2. Motores de almacenamiento (tipos de tablas)
Arquitectura de MySQL
Bloqueos y concurrencia
Bloqueos de lectura y escritura
Nivel de aplicación de los bloqueos
Bloqueos de tabla
Bloqueos de página
Bloqueos de fila
Control de concurrencia con múltiples versiones
Transacciones
Ventajas y desventajas
Niveles de aislamiento
Lectura sin confirmación
Lectura confirmada
Lectura repetible
Lecturas en serie
Interbloqueos
Registro de transacciones
Transacciones en MySQL
AUTOCOMMIT
Confirmación implícita
Niveles de aislamiento
Combinación de motores de almacenamiento en una transacción
Transacciones simuladas
Selección del motor más apropiado
Consideraciones
Transacciones y concurrencia
Copias de seguridad
Características especiales
Ejemplos prácticos
Registro
Tablas en modo sólo lectura y casi siempre lectura
Procesamiento de solicitudes
Cotizaciones de valores
Tablones de anuncios y foros de discusión
Aplicaciones en CD-ROM
Conversión de tablas
ALTER TABLE
Volcado y reimportación
CREATE y SELECT
Los motores de almacenamiento
Tablas MyISAM
Almacenamiento
Otras cuestiones
Tablas MyISAM comprimidas
Tablas MyISAM RAID
Tablas MyISAM de fusión
Tablas InnoDB
Almacenamiento
Bloqueos y concurrencia
Características especiales
Tablas de pila (en memoria)
Limitaciones
Tablas Berkeley DB (BDB)
Capítulo 3. Benchmarking
La importancia del Benchmarking
Estrategias para benchmarking
Herramientas de benchmarking
The MySQL Benchmark Suite
MySQL super-smack
Preparando los datos de prueba
Configuración
MyBench: una solución a medida
Capítulo 4. Índices
Fundamentos de indexación
Conceptos sobre índices
Índices parciales
Índices multicolumna
Orden de los índices
Índices como constraints
Índices secundarios y cluster
Índices únicos contra claves primarias
Indexar nulos (NULL)
Estructura de índice
Índices tipo B-Tree
Índices de tipo Hash
Índices R-Tree
Tipos de tablas e índices
Tablas MyISAM
Escritura retardada de claves
Tablas Heap
Tablas BDB
Tablas InnoDB
Índices Full-Text
Limitaciones de los índices
Uso de los comodines
Expresiones regulares
Estadísticas pobres o corruptas
Demasiadas filas coincidentes
Mantenimiento de índices
Obtener información de los índices
Recuperar estadísticas de índices
Capítulo 5. Optimización de consultas
Proceso básico de las consultas
Caché de consulta
Parseo, análisis y optimización
El uso de EXPLAIN
Joins
Ejecución
Características del optimizador
Demasiada poca diversidad
Orden basado en índice
Consultas imposibles
Utilizar textos completos en lugar de LIKE
Identificar consultas lentas
Modificadores de MySQL
Orden en Join
Uso de índices
Resultados
Caché de consulta
Consejos muy sencillos para consultas
Dos mejor que una
Union en lugar de OR
Capítulo 6. Parametrización y rendimiento del servidor
Factores que limitan el rendimiento
Discos
Memoria
Búferes y caché de MySQL
Red
RAID
Mezcle y acierte
Ejemplo de configuración
Hardware contra Software
¿IDE o SCSI?
RAID en los esclavos
Sistema operativo
Filesystems
Journaling
Otras características y trucos
Eligiendo un formato de filesystem
FreeBSD
¿Realmente necesita un filesystem?
Swap
Tramas
Técnicas
Resolviendo los cuellos de botella de E/S
Índice incorrecto
Tablas temporales
Caché
Reparta la carga
Resolver los cuellos de botella de CPU
Resolver cuellos de botella en memoria
Resolver cuellos de botella en el núcleo
Capítulo 7. Replicación
Introducción a la replicación
Problemas que soluciona la replicación
Distribución de los datos
Balanceo de carga
Copia de seguridad y recuperación
Alta disponibilidad y tolerancia a fallos
Problemas no solventados con la replicación
Transmisión de datos en tiempo real
Pedidos on-line
Rendimiento en la replicación
Configurar la replicación
En un nuevo servidor
Creación de cuentas
Entradas del archivo de configuración
Reinicie el maestro
Reiniciar el esclavo
En un servidor existente
Qué es necesario que ocurra
Imagen o copia de seguridad y luego copiar
Copias de tablas on-line
Copia on-line y sincronización (sólo para versiones MySQL 4.x)
Los detalles del proceso
La replicación en la versión 3.23
La replicación en la versión 4.0
Archivos y configuraciones relacionados con la replicación
Archivos de registro
Archivos de índice de registro
Archivos de estado
Filtrado
Arquitecturas de replicación
Las reglas de la replicación
Configuraciones ejemplos
Cuando se emplean soluciones complejas sobre MySQL a menudo no se valoran convenientemente cuestiones de fiabilidad, escalabilidad y rendimiento, aspectos sin duda fundamentales para el buen funcionamiento de un sitio web.
MySQL Avanzado le presenta los métodos, consejos y aplicaciones para que pueda obtener el máximo partido de dos aspectos clave como son la indexación y la optimización. Aprenderá estrategias útiles sobre replicación, copias de seguridad y equilibrado de carga, a través de una descripción de las herramientas disponibles y de su utilización en entornos reales. Además, incluye una serie de técnicas complementarias necesarias para llevar a cabo estas tareas, como por ejemplo la configuración avanzada, los bancos de pruebas y el estudio de registros.
Esta obra didáctica y de consulta cubre con una exhaustiva información las técnicas y soluciones no documentadas para conseguir el máximo rendimiento de MySQL, convirtiéndose en la referencia más completa para los usuarios.