- 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.
