KamoCRM

Mantenga commit.logs.traducción-count en el momento de la escritura

PerformanceSecurityService
Se descapó
23 de septiembre de 2026 a las 14:40 UTC
Autor
Kamo
Compromit
1f715e4

DDL: **************** (column - índice parcialmente-friendly, aplicado a la producción ya) y ************* (un tiempo de ponerse al día, ya correr 19.373 filas, todas aterrizadas en su cuenta real). ************* ahora mantiene commit-logs.translation-count exactamente igual a COUNT(*) DESDE commit-log-translations para esa fila, en la misma transacción REQUIRES-NEW que cada lugar escribir: 1 para un lugar genuinamente nuevo, sin cambios para un re-salvado de uno ya allí (un reinicio o un nuevo-disparador de la regla de desinuación elimina-entos-entos-reinserta el mismo locale . . . . . . . . . . . . . . . . . . . . Envuelta en la convención de esta base de código para escribir que es raro. concurrentes-overlap (la traducción inicial post-comprometer todavía en vuelo cuando el reinicio de 5 minutos Sweep también recoge la misma fila aún incompleta) podría 40001. **************** lee ese contador con un ágil indexado WHERE ************* en lugar del GRUPO BY .. VERDO commit-logs LEFT JOIN commit-log-translations que corrió cada 5 minutos y medido en la producción: Llamadas 14K a 750ms (un escaneo completo de la tabla de traducciones de filas 406K), verificada a través de EXPLAIN ANALYZE antes de cablear esto en: 751ms - 19.6ms (Index Only Scan, Heap Fetches: 0) para el mismo estuche de resultados vacíos. Una reescritura subcorrido correlacionada por fila fue probada primero y rechazada: EXPLAIN ANALYZE en la producción lo mostró a 13,9, 18x WORSE que el costo original de YugabyteDB por PRPC para muchos pequeños lucidos correlacionados domina, por lo que esta es una columna mantenida, no una más inteligente únase.

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