- Expediere
- 20 august 2026 la 23:34 UTC
- Autor
- Kamo
- Comite
- 8b4f5a2
Încărcare / plumb a luat 23.3 s la 1.427 conduce. 23,3 s din care a fost HIPAA pistă de audit: recordLeadList scrie un rând phi access log pe plumb s-a întors şi fiecare a comis propria tranzacţie. Măsurat la producţie 16,36 ms/rând, 5,708 rânduri în 93 s pe patru încărcături. SELECTUL a fost 29.6 ms și ix leads org id a fost folosit problema. Două cauze independente, ambele fixate aici. Urma de audit a scris o tranzacţie pe rând. phi access log transporta trei indexuri secundare, astfel încât pe Yugabyte o inserție un singur rând este de patru scrie comprimate şi, prin urmare, o tranzacţie distribuită. PhiAccessLogWriter câştiguri scrieAll şi JpaPhiAccessLogWriter pune în aplicare ca o singură salvareAll, care SimpleJpaRepository rulează într-o singură tranzacție: măsurată 0.49 ms/row, ~33x. AsyncPhiAccessLogWriter apoi ia tipurile de eșuare-deschis De pe fir de cerere în întregime. tipul de produs (export, descărcare; să dezvăluie, să configurați) să scrieți sincron cu excepția intactă; astfel încât acestea pot refuza în continuare citit; coada nu scade un record Coada saturata scrie inline in schimb. Granularitatea este neschimbată: fiecare plumbul arătat devine încă propriul rând. Obiectivul final returnat întreaga organizație și lăsați browserul să filtreze volumul auditului era proporţional cu mărimea chiriaşului, nu cu ceea ce a fost dezvăluit. LeadGridQuery + LeadGridSpecificații muta fiecare filtru în interogare și LeadService.getLeadGridPage întoarce o pagină de rândul slab DTO, proiectat în cadrul tranzacției astfel încât obiectivul să fie menținut nici o entitate după aceea. O specificație mai degrabă decât JPQL nul-guards pe scop: ":p IS NULL OR col =:p" oprește planificatorul folosind noul indexuri compozite. Subchirurgii mai degrabă decât să trateze() / tip() pentru ipotecă subclasă, pentru că biblioteca construiește pe Hibernate 6.5 și SecurityService Rulează 6.2.13. Lead câștigă patru indici compoziți, fiecare lider cu ORG ID astfel Yugabyte încă hash-partiții pe chiriaș: atribuire, piață, statut și Data Created. Fără ele, filtrarea server-side ar muta scanarea În loc să-l scoatem. De asemenea: căutarea telefonului mobil inversat nu mai hidratează întregul organizaţie pentru a compara numerele din Java. De asemenea, adaugă găsiBatchAfterUid: o scanare set cheie pentru back-office trece că Trebuie să vizitezi fiecare pistă. FindAll (Pageable) nu poate fi utilizat pentru Yugabyte tranzacție, și un permis care scrie între pagini apoi excursii o citire repornirea stratului de interogare nu poate reîncerca.