Améliorer les performances des requêtes dans PostgreSQL
Amy McCarty
Instructor
Quoi
Pourquoi
Où
| ingrédient | recette |
|---|---|
| tomates | spaghetti & meatballs |
| oignons verts | fried rice |
| œufs | fried rice |
| bœuf haché | spaghetti & meatballs |
| pâtes | spaghetti & meatballs |
| riz | fried rice |
| sauce soja | fried rice |
SELECT *
FROM cookbook
WHERE recipe = 'fried rice'

SELECT * FROM pg_indexes
| schemaname | tablename | indexname | tablespace | indexdef |
|---|---|---|---|---|
| food | dinner | recipe_index | null | CREATE INDEX recipe_index ... |

CREATE INDEX recipe_index
ON cookbook (recipe);
CREATE INDEX CONCURRENTLY recipe_index
ON cookbook (recipe, serving_size);
Quand utiliser un index
Quand éviter un index
Tables fréquemment mises à jour

Planificateur de requêtes
EXPLAIN
SELECT *
FROM cookbook
Plan d'exécution
Seq scan on cookbook (cost=0.00...22.70
rows = 1270 width = 36)
Améliorer les performances des requêtes dans PostgreSQL