MySQL 5.0.3-beta y posterior contiene un número de nuevas características que son de interés:
Condiciones Push-Down: Una consulta como
SELECT * FROM t1 WHERE non_indexed_attribute = 1;
usará un escaneo de toda la tabla y la condición se
evaluará en los nodos de datos del cluster. Por lo tanto no
es necesario enviar el registro a la red para evaluación.
(Esto es, la transporte de función se usa, en lugar del
transporte de datos.) Para este tipo de consultas debe
observar un factor de incremento de velocidad de 5-10. Tenga
en cuenta que esta característica actualmente está
desactivada por defecto (pendiente de más testeo), pero
debería funcionar en la mayoría de casos. Esta
característica puede estar activada mediante el comando
SET engine-condition-pushdown=On;
.
Alternativamente, puede ejecutar mysqld
con esta característica activada arrancando MySQL server
con la nueva opción
--engine-condition-pushdown
.
Puede usar EXPLAIN
para determinar
cuándo se usan las condiciones push-down .
Un beneficio principal de este cambio es que las consultas se ejecutan en paralelo. Esto significa que las consultas contra columnas no indexadas pueden mejorar de 5 a 10 veces, veces por el número de nodos de datos, más rápido que préviamente, ya que CPUs múltiples pueden funcionar en la consulta en paralelo.
Decrementado uso de
IndexMemory
: En MySQL 5.0,
cada registro consume aproximadamente 25 bytes de memoria
índice, y cada índice único usa 25 bytes por registro de
memoria índice (además de alguna memoria de datos ya que
se almacena en una tabla separada). Esto es porque no hay
almacenamiento de la clave primaria en la memoria índice.
Caché de consulta activada para MySQL Cluster: Consulte Sección 5.12, “La caché de consultas de MySQL” para información acerca de configurar el uso de la caché de consulta.
Nuevas optimizaciones: Una optimización que merece atención particular es que una interfaz de lectura batch se usa ahora en algunas consultas. Por ejemplo, considere la siguiente consulta:
SELECT * FROM t1 WHERE primary_key
IN (1,2,3,4,5,6,7,8,9,10);
Esta consulta se ejecutará 2 o 3 veces más rápido que en versiones anteriores de MySQL Cluster debido al hecho que todas las 10 búsquedas de clave se envían en un batch único en lugar de uno cada vez.
Límite en número de objetos de metadatos : En MySQL 4.1, cada base de datos de Cluster puede contener un máximo de 1600 objetos de metadatos, incluyendo tablas de base de datos, tablas de sistema, índices y BLOBs. En MySQL 5.0, esperamos incrementar este número a 20,320. Esperamos implementar esta mejora en MySQL 5.0.6 beta a mediados de 2005.
É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.