- Extension PostgreSQL de Supabse qui recommande des index pour améliorer les performances des requêtes
- Si l’on passe une requête à la fonction
index_advisor(), elle renvoie le coût avant/après pour le démarrage et le total, ainsi que le SQL DDL pour créer l’index
- Exécution :
select * from index_advisor('select book.id from book where title = $1');
- Retour :
{"CREATE INDEX ON public.book USING btree (title)"}
- Pour les requêtes complexes, elle peut aussi renvoyer plusieurs instructions de création d’index
- Prise en charge des paramètres génériques ($1, $2, ..)
- Prise en charge des vues matérialisées
- Capable d’identifier les tables/colonnes masquées par des vues
3 commentaires
Dans la version actuelle, seuls les index btree sur une seule colonne sont recommandés. Il ne peut pas être utilisé si les conditions de requête deviennent complexes ou si vous faites de la recherche full text https://supabase.com/docs/guides/…
On dit que lorsque les conditions de recherche sont complexes, plusieurs index sur une seule colonne sont utilisés à la place d’un index multicolonnes, mais il semble qu’ils ne se comportent pas exactement de la même manière. On dit aussi qu’il existe des situations où la meilleure option est d’utiliser à la fois un index multicolonnes et plusieurs index sur une seule colonne
https://www.postgresql.org/docs/current/indexes-bitmap-scans.html
Avis Hacker News
limitsur la CTE, Postgres essaie d’exécuter chaque jointure en parallèle et tente de joindre un très grand nombre de lignesindex_advisor(text)dans la session et de commencer à bricoler avec du code en dur et des heuristiques