Migliorare le prestazioni delle query in PostgreSQL
Amy McCarty
Instructor
Cosa
Perché
Dove
| ingrediente | ricetta |
|---|---|
| pomodori | spaghetti & polpette |
| cipollotti | riso fritto |
| uova | riso fritto |
| carne macinata | spaghetti & polpette |
| pasta | spaghetti & polpette |
| riso | riso fritto |
| salsa di soia | riso fritto |
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);
Quando usare un indice
Quando evitarlo
Tabelle aggiornate spesso

Query planner
EXPLAIN
SELECT *
FROM cookbook
Piano di query
Seq scan on cookbook (cost=0.00...22.70
rows = 1270 width = 36)
Migliorare le prestazioni delle query in PostgreSQL