Índices compuestos y orden de columnas en SQL
Un índice de dos columnas es una sola lista ordenada: solo la columna inicial se puede buscar.
CREATE INDEX orders_by_customer_date
ON orders (customer_id, placed_at DESC);
EXPLAIN QUERY PLAN
SELECT
id,
total
FROM orders
WHERE customer_id = 42
ORDER BY placed_at DESC
LIMIT 10;
Cómo funciona
(a, b)atiende un filtro pora, y poramásb— pero no porbsola.- Pon primero la columna de igualdad y después la de rango u orden.
- El índice también satisface el
ORDER BYcuando coincide con su propio orden.
Palabras clave y builtins usados aquí
BYCREATEDESCEXPLAINFROMINDEXLIMITONORDERSELECTWHERE
El intento, en números
- Líneas
- 11
- Caracteres a escribir
- 183
- Tokens
- 32
- Ritmo de tres estrellas
- 90 tpm
Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 21 segundos.
Paso 2 de 5 en Índices; paso 4 de 17 en Planes y rendimiento.