empuje hacia abajo del índice
Nota: Si ha estudiado la optimización del árbol de sintaxis de álgebra relacional, lo comprenderá de un vistazo. Si desea aprender bien la base de datos, aún debe volver al libro de texto.
Ahora supongamos que hay una tabla de usuarios.
+-------------+---------+
| 列名 | 类型 |
+-------------+---------+
| id | int |
| age | int |
| FirstName | varchar |
| LastName | varchar |
+-------------+---------+
Crear índice conjunto
create index idx_firstName_age on users(firstName,age)
Ahora consulta los registros cuyo nombre comienza con t y cuya edad es igual a 20 años.
select firstName,lastName,age from users where firstName like 't%' and age = 20
almacenamiento fisico
Ahora inserte cinco datos.
insert into users (id,fristName,lastName,age) values (001,'Tome','ajad',20);
insert into users (id,fristName,lastName,age) values (002,'Jack','ajad',18);
insert into users (id,fristName,lastName,age) values (003,'Tome','ajad',18);
insert into users (id,fristName,lastName,age) values (004,'Lee' ,'ajad',17);
insert into users (id,fristName,lastName,age) values (005,'Lee' ,'ajad',19);
La estructura se describe brevemente a continuación.
El índice secundario anterior no incluye la dirección física de la clave principal.
árbol de análisis
Todas las declaraciones SQL eventualmente se convertirán en álgebra relacional para su ejecución. El árbol de sintaxis se ejecuta de abajo hacia arriba.
Utilice aplicar para representar la operación de regresar del índice a la tabla. Lo expreso aquí por conveniencia. De hecho, no existe tal método de representación.
Primero, vaya al índice conjunto (idx_firstName_age) para buscar todos los registros que comiencen con firstName t, luego devuelva el registro de edad firstName lastName a la tabla y luego busque el registro con edad = 20 según los registros devueltos.
empuje hacia abajo del índice
pushdown de condición de índice
Mucha gente no entiende por qué se llama índice pushdown.
El primero es el índice, que en realidad está empujando hacia abajo las condiciones de selección. En "Introducción a los sistemas de bases de datos, quinta edición", para la optimización del álgebra relacional, la selección y la proyección deben moverse hacia abajo tanto como sea posible.
Como puede ver en la figura siguiente, las condiciones de selección se mueven hacia abajo y se juzgan en el índice conjunto. Al reducir el número de resultados de la tabla, se logra el propósito de optimización.