Förbättra frågeprestanda i PostgreSQL
Amy McCarty
Instructor
Vad
Varför
Var
| ingrediens | recept |
|---|---|
| tomater | spaghetti och köttbullar |
| salladslök | stekt ris |
| ägg | stekt ris |
| nötfärs | spaghetti och köttbullar |
| pasta | spaghetti och köttbullar |
| ris | stekt ris |
| sojasås | stekt ris |
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);
Använd ett index
Undvik ett index
Tabeller som uppdateras ofta

Frågeoptimeraren
EXPLAIN
SELECT *
FROM cookbook
Frågeplan
Seq scan on cookbook (cost=0.00...22.70
rows = 1270 width = 36)
Förbättra frågeprestanda i PostgreSQL