L'indice della gamma Geolite deve essere ASC, non il HASH predefinito di YugabyteDB

Performancekamo-shared-library
Spegnimento
10 agosto 2026 alle ore 18:14 UTC
Autore
Kamo
Impegno
99adac9

La ricerca IP è una scansione dell'intervallo: DOVE rete start <=? ORDINI IN rete start DESC LIMIT 1 YugabyteDB partiziona la colonna indice LEADING di HASH se non detto altrimenti; Gli indici CockroachDB sono sempre ordinati a distanza. Così quando lo schema è stato ricostruito su YugabyteDB, idx geolite blocks range divenne (network start HASH, network end ASC) e ha smesso di servire quel predicato. Misurato: scansione completa di tutte le 5,820,022 righe, 8,814 ms per chiamata. Era il singolo cosa più costosa nel database -- 3.96 HOURs di tempo di esecuzione cumulativa attraverso 455 chiamate, più un secondo geo si uniscono a 16,4 s media. È anche ciò piscina di connessione di SecurityService esaurita. Con (network start ASC, network end ASC): 6.9 ms e 0 righe scansionate. L'unione query va 16.421 ms -> 10.2 ms. Fisso in due posti, perché il tavolo è ricostruito settimanale: - GeoLiteBlock @Index, così le nuove costruzioni dello schema sono corrette. - DaemonService GeoLiteSyncService, il cui swap di rinomina + stadi ricrea il indici ogni domenica e altrimenti silenziosamente annullare questo.

Tutte le modifiche

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo