typestar

Índices parciales en SQL

Si la consulta siempre filtra igual, el índice no necesita las demás filas.

CREATE INDEX orders_pending
    ON orders (placed_at)
    WHERE status = 'pending';

EXPLAIN QUERY PLAN
SELECT
    id,
    placed_at
FROM orders
WHERE status = 'pending'
ORDER BY placed_at;

Cómo funciona

  1. Un WHERE en el CREATE INDEX indexa solo las filas que coinciden.
  2. Índice más chico, escrituras más baratas, y útil para exactamente una forma de consulta.
  3. El planificador lo usa solo cuando el filtro de la consulta implica el del índice.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
11
Caracteres a escribir
173
Tokens
30
Ritmo de tres estrellas
90 tpm

Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 20 segundos.

Escribe este fragmento

Paso 3 de 5 en Índices; paso 5 de 17 en Planes y rendimiento.

← Anterior Siguiente →