Gilberto 🦁 PRO
Desarrollo visualizaciones y aplicaciones en línea, colaboro con distintos medios digitales
Primer acto: El descubrimiento
Primer acto: El descubrimiento
Primer acto: El descubrimiento
Segundo acto: El misterio
Segundo acto: El misterio
Tercer acto: El descubrimiento
Tercer acto: El descubrimiento
Cuarto acto: La solución
Cuarto acto: La solución
Quinto acto: El resultado
Epílogo: La razón
Epílogo: La razón
Como decía Jack, el destripador, vámonos por partes:
Solo para tener algo de referencia:
Si ejecutamos la siguiente consulta:
EXPLAIN SELECT `first_name`, `last_name`, `gender` FROM `employees` WHERE `first_name` = 'Aiman';
Obtenemos algo así:
Agreguemos un índice:
CREATE INDEX nombre ON employees (`first_name`);
Revisemos los índices de la tabla:
SHOW indexes FROM employees;
Y deberíamos ver algo así:
Si ejecutamos, de nuevo, la consulta:
EXPLAIN SELECT `first_name`, `last_name`, `gender` FROM `employees` WHERE `first_name` = 'Aiman';
Obtenemos algo así:
Comparemos:
Sin índice
Con índice
Ahora una búsqueda usando dos campos:
EXPLAIN SELECT `first_name`,`last_name`, `gender` FROM `employees`
WHERE `first_name` = "Ronnie" AND `last_name` = "Conde";
Regresa also así:
Si creamos un índice compuesto:
CREATE INDEX nombre_completo ON employees (`first_name`, `last_name`);
La misma consulta regresa algo así:
Comparemos:
Sin índice
Con índice
Veamos que pasa con dos tablas:
EXPLAIN SELECT
employees.first_name,
employees.last_name,
employees.gender,
salaries.salary,
salaries.from_date,
salaries.to_date
FROM
salaries
INNER JOIN employees ON salaries.emp_no = employees.emp_no
WHERE
employees.last_name = "Karlin" AND salaries.salary >= 30000 AND salaries.salary <= 80000
Obtenemos algo así:
Después de agregar un índice en el apellido y otro en el salario nos queda:
Sin índices
Con índices
Normalmente hay que leer la documentación formal sobre los índices para poder entenderlos del todo (o, al menos para familiarizarse) pero en lo que se acostumbran a leer ese tipo de documentos:
By Gilberto 🦁
Y más índices
Desarrollo visualizaciones y aplicaciones en línea, colaboro con distintos medios digitales