Si una tabla cabe casi completamente en la memoria principal, la
manera más rápida de ejecutar consultas sobre ella es
empleando índices hash. InnoDB
posee un
mecanismo automático que supervisa las búsquedas realizadas
sobre los índices de una tabla. Si InnoDB
advierte que las consultas se podrían beneficiar con la
creación de un índice hash, lo hará automáticamente.
El índice hash siempre está basado en un índice B-tree
existente en la tabla. InnoDB
puede generar
un indíce hash sobre un prefijo de la clave definida para el
B-tree de cualquier longitud, dependiendo del patrón de
búsquedas que InnoDB
observe en el índice
B-tree. Un índice hash puede ser parcial: no se necesita que el
índice B-tree completo sea alojado en el pool de buffer.
InnoDB
genera índices hash según sea
necesario basándose en las páginas de índice que son
utilizadas más frecuentemente.
Podría decirse que, a través del mecanismo de índices hash
adaptativos, InnoDB
se adapta a la memoria
principal, acercándose así a la arquitectura de las bases de
datos de memoria.
É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.