KamoCRM

Mantenere commit logs.translation count a tempo di scrittura

PerformanceSecurityService
Spegnimento
23 settembre 2026 alle ore 14:40 UTC
Autore
Kamo
Impegno
1f715e4

DlDl: (colonna + indice parziale, applicato a La produzione e' gia' stata fatta. (un tempo di cattura, già correre) 19.373 file, tutti atterrati sul loro vero conteggio). ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** pari a COUNT(*) DA commit log translations per tale riga, nella stessa transazione REQUIRES NEW come ogni scrittura locale: +1 per un locale genuinamente nuovo, immutato per una riscoperta di uno già lì (una riprovazione o un re-trigger di sanificazione-rule cancella-allora-reinserisce lo stesso locale — netto zero). Avvolto in @RetryOnDbConflict, corrispondente a questa convenzione di codebase per una scrittura che un raro concurrent-overlap (la traduzione iniziale post-commit ancora in volo quando il 5 minuti di retry spazzare anche raccoglie la stessa riga ancora incompleto) potrebbe 40001. Non e' vero. legge quel contatore con una pianura indicizzata DOVE # Al posto del GRUPPO # commit logs LEFT JOIN commit log translations ha eseguito ogni 5 minuti — misurato in produzione: ~14K chiama a ~750ms (una scansione completa della tabella delle traduzioni ~406K-row), verificata tramite EXPLAIN ANALIZZAZIONE prima del cablaggio in: 751ms -> 19.6ms (Index Only Scan, Heap Fetches: 0) per lo stesso Caso vuoto-risultato. Una riscrittura correlata della subquery per-row è stata prima provata e respinta: EXPLAIN ANALYZE sulla produzione lo ha mostrato a 13.9s, ~18x WORSE rispetto all'originale — il costo per-RPC di YugabyteDB per molte piccole ricerche correlate domina, motivo per cui questa è una colonna mantenuta, non una Unisciti più intelligente.

Tutte le modifiche

Come quello che vedi la spedizione?

Tutto questo arriva nel vostro spazio di lavoro da solo. Iniziare sul piano gratuito e leggere di nuovo questa pagina in un mese.

Inizia gratis per sempreVisualizza il prezzo