- Spegnimento
- 23 settembre 2026 alle ore 13:37 UTC
- Autore
- Kamo
- Impegno
- cf061b2
kbservice's public KB endpoints e la sua traduttura-retry spazzare entrambi chiesto KbArticoloTraduzioneRepository una riga alla volta. Produzione pg stat statements ha mostrato due costi molto diversi da quello: - findRealTranslationLocales (nuovo): backs the sitemap/hreflang lookup that dice una traduzione reale da TraduciService's English-fallback righe (una riga può tenere l'inglese sotto una chiave locale quando nessun provider esiste per quella direzione). Questo cluster pianifica con l'euristica ereditaria di YugabyteDB modello (non statistica ottimizzatrice) e ha scelto un Nested Loop per il JPQL unire di kb article traduzioni a kb articles: una scansione dell'indice per uid list, quindi un singolo indice di ricerca separato in kb articles per ogni di queste righe — 6.468 RPC di archiviazione per un org di 308-articolo, 11.9 s, per unire due tavoli che si adattano insieme in memoria (~6,000 chiamate a ~11 s ciascuno in produzione). SQL nativo con un suggerimento pg hint plan HashJoin pins il unirsi invece (stessa tecnica come E' il momento giusto. Verificato con EXPLAIN su produzione: 11.9 s -> 0.2 s, stabile sotto plan cache mode = force generic plan (la forma lato server di JDBC prepara effettivamente correre sotto). - countGroupedByArticoloUid (nuovo): la spazzata di dieci minuti ha chiesto conteByArticolo Uid una volta per articolo pubblicato per trovare quali ancora bisogno di locali — 1.7M chiamate in produzione, ogni sub-millisecondo da solo. Un COUNT raggruppato sull'intero lotto è la stessa risposta; un uid assente dal risultato ha zero righe. fili kbservice entrambi in (separare commit, il proprio repo).
