KamoCRM

Lea el cambio público el conteo de los compromisos de un libro de al frente, no de COUNT (*)

PerformanceSecurityService
Se descapó
23 de septiembre de 2026 a las 13:48 UTC
Autor
Kamo
Compromit
41e4a00

pg.stat-statements: .SELECT COUNT(c) DES CommitLog cHERE c.project IN IN (:-33 proyectos públicos) [AND c.commitTypeId =:t]- corrió 140K veces al día a 100-200 ms cada una (medida en la producción antes de este cambio) - cada vista de página de la página de la lista (página (página)()/sitemap) y cada uno de los /changelog/public/stats call, en los endpoints que no toman autenticación. commit-logs tiene 19K hileras a través de 38 proyectos; el conteo en sí es barato, pero se ejecutaba en cada petición. create,commit.log.ledger.sql añade la misma forma total.journal create.lead.intake.led.sql utiliza: commit-log-counts (un total por (proyecto, tipo de confirmación) más un solo apéndice el diario que una fila desencadena en commit-logs escribe en el mismo transacción como un inserto, una actualización de cambio de proyecto/tipo, o una eliminación. Aplicado a mano como el propietario y rellenado; DaemonService ahora se dobla y lo relata (compromperse, perf(changelog): dobla y relata el libro de compromiso del cambio público, desplegado primero). ******************* y ************* ahora lee diario en una declaración nativa en lugar de un JPQL COUNT(c) - nuevos métodos sobre PublicChangelogService (su encabezado ya explica por qué un filtro/prevarica que necesita la página pública vive aquí y no en la biblioteca compartida de kamo) en lugar de CommitLogRepository, así que esto no necesitaba Liberación de la biblioteca compartida. hoyCount() no está tocada: es un conteo de ventanas de tiempo limitado respaldado por ix.commit.logs.date-uid, no el patrón de llamada de 140K. Verificado contra la producción antes de cambiar: totales del libro mayor coincida con COUNT(*) exactamente a través los pares 264 (proyecto, commit type) (0 desajustes) después del relleno, y los tres commit-logs desencadenante del fuego correctamente (probado dentro de una transacción enrollada como kamo-app, la propia aplicación credencial).

Todos los cambios

Como lo que ves enviaste?

Todo llega a su espacio de trabajo por sí solo. Comience en el plan gratuito y lea esta página de nuevo en un mes.

Arranzar gratis para siempreVer Precios