[+/-]
El factor más importante para hacer un sistema rápido es su diseño básico. Ademas, es necesario conocer los procesos que cumple el sistema y cuáles son sus cuellos de botella. En la mayoría de casos los cuellos de botella nacen de los siguientes factores:
Búsqueda en Disco. El disco necesita cierto tiempo para encontrar un paquete de datos. Con discos modernos, el tiempo medio para esto es usualmente menor a 10ms, así que en teoría se pueden hacer 100 búsquedas por segundo. Este tiempo mejora lentamente con los discos nuevos y es muy difícil optimizarlo para una sola tabla. La manera de optimizar el tiempo de búsqueda es distribuir los datos dentro de más de un disco.
Lectura y escritura en disco. Cuando el disco se encuentra en la posición correcta, necesitamos leer los datos. Los discos modernos transfieren al menos 10-20MB/s. Esto es mucho más fácil de optimizar que las búsquedas, puesto que podemos leer en paralelo desde múltiples discos.
Ciclos de CPU. Cuando tenemos datos en la memoria principal, necesitamos procesarlos para obtener algún resultado. Tener tablas pequeñas en comparación con la cantidad de memoria es el factor mas común de limitación. Pero con tablas pequeñas, la rapidez no es usualmente el problema.
Ancho de banda de Memoria. Cuando el CPU necesita más datos de los que puede almacenar en la cache de la CPU, el ancho principal de la memoria se convierte en un cuello de botella. Es poco común en la mayoría de casos, pero debe tenerse en cuenta.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.