- Extensión de PostgreSQL de Supabase que recomienda índices para mejorar el rendimiento de las consultas
- Si pasas una consulta a la función
index_advisor(), devuelve el costo antes/después para startup/total y el SQL DDL para crear el índice
- Ejecución:
select * from index_advisor('select book.id from book where title = $1');
- Retorno:
{"CREATE INDEX ON public.book USING btree (title)"}
- Para consultas complejas, también puede devolver varias sentencias de creación de índices
- Soporte para parámetros genéricos (
$1, $2, ..)
- Soporte para Materialized View
- Puede identificar tablas/columnas ocultas por una vista
3 comentarios
En la versión actual solo recomienda índices
btreede una sola columna. No se puede usar si las condiciones de consulta se vuelven complejas o si estás haciendo búsquedas de texto completo https://supabase.com/docs/guides/…Se dice que cuando las condiciones de consulta son complejas, se usan varios índices de una sola columna en lugar de un índice multicolumna, pero parece que no funcionan exactamente igual. O también se comenta que hay situaciones en las que lo mejor es usar al mismo tiempo un índice multicolumna y varios índices de una sola columna.
https://www.postgresql.org/docs/current/indexes-bitmap-scans.html
Opiniones en Hacker News
index_advisor(text)a la sesión y empezar a meter hardcodeo y heurísticas