- Enviado
- 23 de septiembre de 2026 a las 14:40 UTC
- Autor
- Kamo
- Commit
- 1f715e4
DDL: (número + índice parcial, aplicado a producción ya) y **************** (Aprendizaje de una sola vez, ya corren 19,373 filas, todos aterrizaron en su cuenta real). ********** now keep commit logs.translation count justamente igual a COUNT(*) DESDE commit log translations for that row, in the same REQUIRES NEW transactions as cada locale escribe: +1 para un local realmente nuevo, sin cambios para una re-salva de uno ya allí (una reiniciación o un re-trigger de la regla de la sanitización elimina-entonces-reinserta el mismo lugar - neto cero). Wrapped in @RetryOnDbConflict, matching this codebase's convention for a write that a rare concurrent-overlap (la traducción inicial post-commit todavía en vuelo cuando el reingreso de 5 minutos barrido también recoge la misma fila aún incompleta) podría 40001. ¿Qué? lee ese contador con un índice claro **************** En lugar del GRUPO* commit logs LEFT JOIN commit log translations it ran every 5 minutes — medido en producción: ~14K llama a ~750ms (una exploración completa de la tabla de traducciones ~406K-row), verificada a través de EXPLAIN ANALYZE antes de usar esto en: 751ms - título 19.6ms (Index Only Scan, Heap Fetches: 0) para el mismo caso vacío-result. Una reescritura de subquería correlativa fue juzgada primero y rechazada: EXPLAIN ANALYZE en producción lo mostró a 13.9s, ~18x WORSE que el coste original - YugabyteDB per-RPC para muchas pequeñas miradas correlativas domina, por lo que esta es una columna mantenida, no una más inteligente.
