KamoCRM

Dostępne i salda kredytowe odczytują księgę zamiast liczenia wierszy

Performancekamo-shared-library
Shipped
23 września 2026 01:27 UTC
Author
Kamo
Commit
ae437eb

"Leads available" był COUNT (o) nad przydzieloną pulą, a jeden basen org mieści 796 tys. funtów: Liczbę 7,8 s na rynek, produkt i 11 EUR dla grupy (zmierzonych 2026-09-17). Zarządzaj frirami Przeprowadził pojedynczą liczbę raz na rzędzie działek, Leads-Available raz na produkt, a każdy Accept działał Kolejna tylko po to, by nadawać nową figurę. Salda kredytowe były takie same kształty na lead_credits, które Każdy wydawany kredyt na zawsze. Obie liczby pochodzą teraz z utrzymanych sum: lead_pool_counts / lead_credit_balanss plus an Dodatek tylko w dzienniku deltas, który wiersz uruchamia na leadach / lead_kredytach pisz w tej samej transakcji jako zmiana (forterstwo create_lead_ledgers.sql, stosowane 2026-09-22). Odczytowe sumy sumy + dziennik w jednym oświadczeniu, więc jest dokładny, a Hibernate uderza w oczekiwanie na pisanie przed natywną kwerendą, Tak więc transakcja widzi własne meniny i wydatki. Metody repozytorium podtrzymują swoje nazwy, więc każdy Osoba dzwoniąca w każdej usłudze przenosi się do tej biblioteki. DaemonService składa czasopismo co 30 s i Opowiada nocnie, dostosuj korektę dla każdego dryfu. Również: - Accept pick (findAssignablePool) przeczytał i posortował całą pulę produktów: 9,5 s zaakceptuj. Obecnie znajduje się AssignablePoolUids, przypięty z pg_hint_plan hint do nowego indeksu częściowego ix_leads_assignable_pool, ponieważ starszy planner tego klastra preferuje ix_leads_org_market i sorts. 9,470 ms -> 4 ms na basenie na żywo; sonda egzystencja (sampleAssignablePoolUids) również, A pusty produkt nie kosztuje już skanu całego rynku. - Batch czyta dla siatków: ? (ważność każdego rzędu w jednym czytanym), znaleźćSpentCreditsInRange (każdy członkowie wydają od najwcześniejszej lokalnej północy), countAcceptedSinCZŚźwośćPrzemysł i - bliźniak w pamięci Znajdź ObowiązkoweUloty do rozwiązywania wielu par (rynkowych, produktów) z jednej listy. Testy: LeadLedgerQueryShapeTest przypina prowadzkę do odczytu księgi, zacisku bezujemnego, odlewów bigintów i Wskazówka indeksu; LeadAllotmentMostSpstSpecificOfTest przypina desolanta do zasad zapytania. Wyzwalacz DDL, każda lektura, fałd i przeliczenie zostały powtórzone przeciwko YugabyteDB (stół szczytu, 60 czeków). Pełny pakiet: 3012 testów, 5 awarii dokładnie na a6374937 (StorageDomainCoverage, StorageDomainAssociationLookup, Możliwość oglądania raportów, PhiServiceTypeMapping, SystemBugCountContract).

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