Wpis z mikrobloga

Czy jest na sali ktoś od #postgresql ?
Na pewno, ktoś jest, bo pamiętam, że ktoś dodawał kiedyś tu sporą książkę o postgres w PDF.
Potrzebuję pomocy właśnie takiej osoby.
Załączam tutaj Explain analyze zapytania #sql Może ktoś potrafi mi wytłumaczyć dlaczego to co jest w 3 czy też 5 linijce zużywa tyle czasu? Pobieranie danych trwa znacznie szybciej. Już robiłem optymalizację tego zapytania, ale teraz trafiło znowu na jakiś edge case i muszę czekać na wynik zapytania ponad minutę. Jeżeli natomiast nie wyciągam danych z pewnego okresu (nie mam created between :from and :to), to zapytanie wykonuje się 4 sekundy. Jak mam between, to 1m 9s.

W jaki sposób jeszcze ograniczyć ilość rekordów?
Pobierz mariecziek - Czy jest na sali ktoś od #postgresql ?
Na pewno, ktoś jest, bo pamiętam...
źródło: comment_RWNnGI7A3VjTWTyL0n3RJSbMg1RbooKr.jpg
  • 3
@Duze_piwo: No z indeksami może być problem. Raz, że nikt niespecjalnie dbał o indeksy (baza danych w większości tabel nie ma indeksów i kluczy głównych), to dodatkowo w zapytaniu użyty jest dblink (który aż tak za bardzo nie wpływa na czas wykonania zapytania do DB, a przy pobieraniu wg czasu - wcale). To do tego w zapytaniu jest konwersja integera (timestamp) na timestamp with timezone (w formacie YYYY-MM-DD HH24:MI:SS), a następnie