L'indice de la plage de Geolite doit être ASC, pas le HASH par défaut de YugabyteDB

PerformanceDaemonService
Expédié
10 août 2026 à 18:14 UTC
Auteur
Kamo
Commite
371b3bb

La recherche IP est un balayage de portée: Où le réseau - Démarrage - ? ORDER PAR réseau-démarrage DESC LIMIT 1 YugabyteDB partitionne la colonne de l'index de LEADING par HASH sauf indication contraire; Les indices CockroachDB sont toujours ordonnés à l'échelle de la fourchette. Donc, quand le schéma a été reconstruit sur YugabyteDB, idx-geolite-blocs-range est devenu (réseau-démarrage HASH, réseau-end ASC) et a cessé d'être capable de servir ce prédicat. Mesurée: balayage complet des 5 820 022 lignes, 8 814 ms par appel. C'était le seul chose la plus chère dans la base de données -- 3,96 HOURS du temps d'exécution cumulé sur 455 appels, plus une deuxième participation géographique à 16,4 s. C'est aussi ce que le pool de connexions de SecurityService. Avec (réseau-démarrage ASC, réseau-end ASC): 6,9 ms et 0 rangées balayées. L'adhésion requête s'élève à 16 421 ms - 10,2 ms. Fixée en deux endroits, parce que la table est reconstruite chaque semaine: - GeoLiteBlock "Index, donc les versions de schéma frais sont correctes. - DaemonService GeoLiteSyncService, dont l'échange de renoms d'étage recrées indexe tous les dimanches et, autrement, il y a quelque chose de manière silencieuse.

Tous les changements

Comme ce que tu vois expédier ?

Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.

Commencez gratuitement pour toujoursPrix de visualisation