Melhorando o Desempenho de Consultas no PostgreSQL
Amy McCarty
Instructor
O que
Por quê
Onde
| ingrediente | receita |
|---|---|
| tomates | espaguete com almôndegas |
| cebolinha | arroz frito |
| ovos | arroz frito |
| carne moída | espaguete com almôndegas |
| massa | espaguete com almôndegas |
| arroz | arroz frito |
| molho de soja | arroz frito |
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);
Usar um índice
Evitar índice
Tabelas atualizadas com frequência

Planejador de consultas
EXPLAIN
SELECT *
FROM cookbook
Plano de consulta
Seq scan on cookbook (cost=0.00...22.70
rows = 1270 width = 36)
Melhorando o Desempenho de Consultas no PostgreSQL