- Szycy
- 23 września 2026 13:37 UTC
- Autor
- Kamo
- Pochęt się
- cf061b2
Publiczne punkty końcowe KB kbservice i jego przesłuchiwanie tłumaczeń obydwa zostały zadane KbArtykuł Przekłatowanie Repozytorium w jednym wierszu na raz. Produkcja pg_stat_statements pokazał dwa bardzo różne koszty niż: - findRealTranslationLocales (nowe): cofa mapę strony / hreflang lookup, który Opowiada prawdziwe tłumaczenie z wierszy TranslateService z rzędów z Upływem w języku angielskim (runij może trzymać angielski pod kluczem lokalnym, gdy nie istnieje żaden dostawca dla Ten kierunek). Ta klasa planuje z dziedzictwem YugabyteDB Heurys Model (brak statystyk optymalizatora) i wybrał pętlę Nested dla JPQL Połączenie kb_article_translations do kb_articles: skanowanie indeksu dla Uid lista, a następnie osobny indeks pojedynczego rzędu lookup w kb_articles dla każdy z tych wierszy — 6,468 magazynowych RPC dla orgumentu 308-cząstkowego, 11.9 s, aby połączyć dwa stoły, które razem pasują do pamięci (6000 osób zawierchalnych do 11 zł każda w produkcji). Natywny SQL z pg_hint_plan HashJoin wskazówką Zamiast tego przypina łącznik (ta sama technika jako - Sprawdzone z EXPLAIN w trybie Produkcja: 11.9 s -> 0,2 s, stabilna pod plan_cache_mode ? force_generic_plan (kształt JDBC po stronie serwera Przygotowuje się faktycznie podbiegiem). - countGroupedByArticleUid (nowy): dziesięciominutowe tłumaczenie-przetarcie Zapytał hrabstwoByArticle_Uid raz na opublikowany artykuł, aby dowiedzieć się, które z nich Nadal potrzebują lokalizacji — 1,7 mln połączeń w produkcji, każda podmiołowa sekunda W pojedynkę. Jeden pogrupowany KRAJ nad całą partią jest tą samą odpowiedzią; uid Brak w wyniku ma zerowe wiersze. Przewody kbservice obu z nich (oddzielne zaangażowanie, własne repo).
