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

cómo funciona la indexación de árbol B en mysql

La base de datos almacena el valor indexado como un B-Tree y el puntero de registro como un B-Tree valor.

Cada vez que busca un registro que contiene un determinado valor de una columna indexada, el motor localiza la clave que contiene este valor en el B-Tree , recupera el puntero al registro y obtiene el registro.

Qué es exactamente un "puntero de registro", depende del motor de almacenamiento.

  • En MyISAM , el puntero del registro es un desplazamiento del registro en el MYI archivo.

  • En InnoDB , el puntero de registro es el valor de la PRIMARY KEY .

En InnoDB , la tabla en sí es un B-Tree con una PRIMARY KEY como un B-Tree llave. Esto es lo que se llama un "índice agrupado" o "tabla organizada por índice". En este caso, todos los demás campos se almacenan como un B-Tree valor.

En MyISAM , los registros se almacenan sin ningún orden especial. Esto se llama "almacenamiento en montón".