// uprogramisty.pl

Dlaczego Twój indeks nie działa tak, jak myślisz?

Streszczenie wpisu i odnośnik do pełnej treści u źródła.

Dlaczego Twój indeks nie działa tak, jak myślisz?

TL;DR

Na devie kilkadziesiąt rekordów i każde zapytanie śmiga. Na produkcji, przy milionach wierszy, PostgreSQL zaczyna wybierać indeksy po swojemu, choć zespół przygotował na tabeli 12 do 15 indeksów. Planner kieruje się szacunkami kosztów i statystykami tabeli, a nie tym, co programista miał na myśli.

Przykład z artykułu to zwykłe zapytanie o zamówienia klienta ze statusem NEW. Baza może sięgnąć po indeks tylko na customer_id, a dla klienta z wieloma zamówieniami oznacza to sporo zbędnej pracy, zamiast po złożony (customer_id, status). Zespół zdiagnozował to przez EXPLAIN ANALYZE, wyrzucił nakładające się indeksy i zastąpił je mniejszymi, precyzyjniejszymi. Zobacz, na co jeszcze warto patrzeć, zanim dołożysz kolejny indeks.

Wstęp Pewnie znasz tę sytuację: na środowisku deweloperskim wszystko śmiga, zapytania wracają od razu, testy przechodzą, a potem wdrażasz na produkcję no i już tak do końca nie dzi...

Czytaj cały wpis u źródła

// powiązane wpisy