typestar

Indexar una expresión en SQL

No puedes indexar una columna y luego buscar una función de ella. Indexa la función.

CREATE INDEX customers_email_lower
    ON customers (LOWER(email));

EXPLAIN QUERY PLAN
SELECT
    id,
    name
FROM customers
WHERE LOWER(email) = 'ada@example.com';

Cómo funciona

  1. Un índice de expresión guarda el valor calculado, así la búsqueda puede usarlo.
  2. La consulta tiene que escribir la expresión exactamente como la escribe el índice.
  3. La expresión debe ser determinista — nada de CURRENT_TIME ni RANDOM.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
9
Caracteres a escribir
154
Tokens
29
Ritmo de tres estrellas
90 tpm

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

Escribe este fragmento

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

← Anterior Siguiente →