KamoCRM

Stop eager- learching LeadVendorProduct 's org chain for a single- id read

Performancekamo-shared-library
Shipped
23 września 2026 14:39 UTC
Author
Kamo
Commit
3677d12

findById () na LeadVendorProduct ciągnie swój default- Equipment sprzedawca, który sam chętnie-pobiera swoje własne org I jego rynek (który ponownie z niecierpliwością pobiera ITS org) - i Organizacja @ Independence (JOINED), więc każdy z tych chmielu również przyłącza ORG _ MTG do rozwiązania podtyp polimorficzny. Mierzone w produkcji pg _ stat _ statements: 8- way join, ~ 780K calls at 10- 21ms (~ 3 godziny skumulowany czas DB), prawie całkowicie pojedyncze id lookup ('gdzie id = $1'), nie a batchable N + 1 - każdy dzwoniący ma już jeden identyfikator i czyta w większości sprzedawców + własne pola skalarne. Dodaje dwie chude metody LeadVendorProductRepozytorium i włącza każdy dzwoniący FindById Kamo- dired- library + securityservice to the one that match what it actually read: - findIsemptyCreditFfaById: projekcja Skalara JPQL, brak połączeń. - findByIdWithVendor: an @ EntityGraph limited to "seller" (a plain, non-JOINED) - vendor.org i vendor.market wrócić jako nieinicjalizowane proxy, których id jest nadal czytelny bez dodatkowych Zapytanie, które jest wszystkie kontroli własności organicznej w tych dzwoniących kiedykolwiek potrzebne. Celowo NIE @ EntityGraph na vendor.org lub vendor.market.organisation: oba są Organizacja, i wykres jednostki, która pobiera dalsze stowarzyszenia z jednostki dziedziczenia JOINED- jest dokładnym kształtem, który wziął / prowadzi w dół w produkcji na Hibernate 6.2.13 (brak klauzuli FROM wpis dotyczący tabeli głównej - patrz LeadAssigneeRef). Dwie osoby, które naprawdę potrzebują rynku organizacja * * * * * * * * * * * * * * w serwisie bezpieczeństwa) obciążenie LeadMarket jako sekunda, zamiast zwykłego zapytania - ten sam podział tego kodu używa już dla TeamMember. Kształty JSON są niezmienione; tylko które kolumny zostaną odczytane z bazy danych zmienione.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing