Tabla particionada MySQL
Cuando los datos en una sola tabla son demasiado grandes, el índice no es válido.
Divida una única tabla en varias áreas y utilice la función de partición para localizar rápidamente el área de datos. Y en comparación con los índices, las particiones no requieren estructuras de datos adicionales para registrar los datos de cada partición y el costo es menor. Todo lo que se necesita es una expresión simple para señalar la partición correcta.
? Puede almacenar tablas en particiones simples sin índices. Siempre que la consulta se ubique en la ubicación aproximada de los datos requeridos y los datos requeridos se limiten a varias particiones según las condiciones, la eficiencia es muy alta. Advertencia: la cantidad de particiones que una consulta necesita escanear está limitada a una cantidad muy pequeña.
? Si los datos tienen "puntos calientes" obvios, los datos del punto caliente se pueden colocar en una partición separada para que los datos de esta partición se puedan almacenar en caché en la memoria.
? Si el valor de la expresión de partición puede ser nulo: entonces se creará una partición especial para la primera partición. Tomando como ejemplo la partición por año de rango (fecha_pedido), todos los datos con valores vacíos o ilegales en la columna fecha_pedido se colocarán en la primera partición. Luego, todas las consultas escanearán la primera partición después de localizar la partición. Y si la primera partición es muy grande, el costo de la consulta aumentará implacablemente con esta partición de "botella de arrastre".
? Crear una primera partición inútil puede resolver este problema, el valor de p_nulls de la partición es menor que (0);
? Para consultas donde las columnas de partición y las columnas de índice no coinciden, aunque la consulta puede usar el índice, no puede ubicar la partición de los datos de destino a través de la partición (es decir, la distribución de datos está relativamente dispersa). el índice en cada partición, a menos que las condiciones de la consulta también contengan condiciones de partición. Por lo tanto, se espera que el rango de condiciones de partición se incluya en los índices de consulta populares.
? Para la tecnología de partición de rango, el número de particiones debe limitarse adecuadamente; de lo contrario, el costo de seleccionar particiones será demasiado alto para escenarios en los que se importan grandes cantidades de datos en lotes. Para la mayoría de los sistemas, alrededor de 100 particiones no serán un problema.