- Szycy
- 23 września 2026 12:33 UTC
- Autor
- Kamo
- Pochęt się
- 6add2f1
pg_stat_statements umieszczają odczyty pojedynczego wpisu changelogu na górze bazy danych przez Odległość: odnośnik ślimaka i dwa sąsiedzkie lookupy biegały 905 tys. funtów razy za 245 m — razem Około 70% całego czasu YugabyteDB spędził na wywiązywaniu się z oświadczeń. Strona marketingowa sprawia, że każdy Strona wpisu na żądanie (wpisy 19K x 22 miejsc), więc roboty indeksujące utrzymują je zajętymi i każdy koszt widoku Trzy niemal pełne odczyty z commit_logs: -ZnaleźBySlug używany ?commitHash LIKE:prefiks i projekt IN (...). Unikalny indeks na commit_hash Jest utwardzony HASH, więc skan prefiksów nigdy nie był możliwy (komentarz twierdzący, że w przeciwnym razie znikł), i Z listą projektową przedstawiono planer spaceru (projekt, date_committed) i filtrowany Publiczny rząd. Jest to teraz półotwarty zakres [prefiks, prefiks + "-") - każdy sortuje znak heks Poniżej '' w zestawie C — nad nowym ix_commit_logs_hash_prefix, z projektem publicznym Filtr stosowany w Javie do co najwyżej 16 kandydatów. Ta sama odpowiedź: dokładnie jeden mecz publiczny lub nic. - nowszy/starszy w porównaniu ?(d > :d (d :d :d AND id > :id)), co nie daje indeksowi miejsca do rozpoczęcia. Teraz mówią, że > :d AND (d > :d OR id > :id) (equiwalent), więc ix_commit_logs_date_uid startuje Jego spacer przy wejściu. Mierzone przy produkcji z wymusznymi ogólnymi planami (co przygotowuje strona serwera JDBC): ślimaka 2,2 ms (było 245 3116), nowsze 1,3 ms i starsze 1,2 ms (było 190 euro). Oba indeksy zostały stworzone przez Ręka jako właściciel i jest zapisana w :-) PublicChangelogLookupTest przypina kształty wypowiedzi i filtra Java-side (4 z 5 czerwonych przeciwko Poprzedni serwis).
