KamoCRM

Lesen Sie die Commit-Zählungen des öffentlichen changelogs von einem Ledger, nicht COUNT(*)

PerformanceSecurityService
Verschifft
23. September 2026 um 13:48 UTC
Autor
Kamo
Ausschuss
41e4a00

pg_stat_statements: "SELECT COUNT(c) VON CommitLog c WO c.project IN (:-33 öffentliche Projekte) [AND c.commitTypeId = :t]" lief 140K mal pro Tag bei 100-200 ms pro Stück (gemessen auf Produktion vor dieser Änderung) - jede Listenseite (page(), Adressen()/sitemap) und jede /changelog/public/stats call, auf Endpoints, die keine Authentifizierung annehmen. commit_logs hat .19K Reihen über 38 Projekte; die Zählung selbst ist billig, aber sie lief auf jeden Wunsch. create_commit_log_ledger.sql fügt die gleiche Gesamt-+Journal-Form create_lead_intake_ledger.sql hinzu verwendet: commit_log_counts (insgesamt pro (Projekt, Commit-Typ)) plus ein weiteres anhängen betrügen_log_count_deltas Journal, dass eine Zeile auf commit_logs-Trigger in derselben schreibt Transaktion als Insert, als Projekt-/Typ-Wechsel-Update oder Lösch. Von Hand als die Besitzer und verfüllt; DaemonService faltet und erzählt es (separate verpflichten, perf(changelog): falten und das Commit-Log-Leedger des öffentlichen changelogs, zuerst eingesetzt werden, falten und neu auszählen. ************ und **************** jetzt lesen total + Journal in einer nativen Aussage anstelle eines JPQL COUNT(c) - neue Methoden auf PublicChangelogService (sein Header erklärt bereits, warum ein Filter/Abfrage die öffentliche Seite braucht lebt hier und nicht in Kamo-shared-Bibliothek) statt CommitLogRepository, so dass dies keine Shared-Bibliothek Release. today count() ist unberührt: es ist eine begrenzte Zeitfensterzahl, die von ix_commit_logs_date_uid, nicht das -140K-Call-Muster. Verifiziert gegen Produktion vor dem Wechsel: ledger Summen abgestimmt COUNT(*) genau quer alle 264 (Projekt, Commit-Typ) -Paare (0 Diskrepanzen) nach der Verfüllung und die drei commit_logs löst richtig Feuer (bewiesen in einer zurückgerollten Transaktion als kamo_app, die App-eigene Anmeldeinformationen).

Alle Änderungen

Wie, was Sie sehen Versand?

Alles kommt in Ihrem Arbeitsbereich für sich. Starten Sie mit dem kostenlosen Plan und lesen Sie diese Seite in einem Monat wieder.

Free Forever startenPreisgestaltung anzeigen