sql >> Base de Datos >  >> RDS >> Mysql

Particionamiento de MySQL:por qué no está tomando la partición apropiada

El esquema de partición HASH significa que MySQL traduce su valor numérico arbitrario en su propio valor hash. Ha definido 366 particiones. ¿Qué crees que pasaría si tu consulta fuera:

EXPLICAR LAS PARTICIONES SELECCIONAR * DESDE temp donde PartitionID =400?

Su ID de partición no puede significar en este caso el ID/nombre de la partición real, ya que no hay partición 400.

Ahora, solo entre nosotros dos, podría interesarle saber que la función HASHing de MySQL es un módulo simple. Por lo tanto, 0 se asigna a la partición p0, 1 se asigna a la partición p1 y 400 se asigna a la partición 34 (==400-366).

En términos generales, no debería estar demasiado interesado en la identificación de la partición en particular que se está utilizando. Debería estar más interesado en saber que hay un buen equilibrio de particiones.

Si el equilibrio no le parece correcto, podría considerar usar el esquema de partición KEY, donde el algoritmo hash se basa en una función de suma de verificación, lo que significa que los valores se distribuyen más "aleatoriamente" en comparación con el esquema de partición del módulo HASH.