Sé que la clave principal en InnoDB está agrupada. De modo que usar un entero de incremento automático como la clave primaria tiene la ventaja de que ya se ha ordenado y mejora el rendimiento de la inserción.Cómo InnoDB ordena las claves primarias de varias columnas
Pero el problema es que tengo una tabla como esta con 2 columnas id y hash (y alguna otra pero no importante);
id int auto increment
hash Guid
Necesito dividir esta tabla en la columna hash, eso significa que debo ponerla en la clave principal.
Así que estoy pensando en crear una clave principal como (id, hash). La columna id se utilizará en las uniones con las otras tablas.
El problema es si tengo el PK como (id, hash) ¿cómo lo ordenará InnoDB?
¿Utilizará la columna de identificación primero y luego hash o usará alguna otra forma para determinar el orden de la clave? El primero será mejor ya que se beneficia de la columna de autoinc ya ordenada, pero no pude encontrar ninguna información sobre cómo se hará la clasificación en las columnas compuestas.
Cualquier penetración en este se aprecia grandemente :)
Se ordenará por id, hash. –
Creo que sería lo mismo que DDL porque el orden es cuestión. Normalmente, los sistemas de base de datos no pueden designar el pedido para usted. Y el orden de la clave principal es un factor de ajuste del rendimiento. –