Индекс диапазона геолитов должен быть ASC, а не HASH по умолчанию от YugabyteDB

Performancekamo-shared-library
Порезанный
10 августа 2026 г. в 18:14 UTC
Автор
Kamo
Обещать
99adac9

IP-поиск - это сканирование диапазона: Где сеть start <= ? ORDER BY network start DESC LIMIT 1 YugabyteDB разбивает столбец индекса LEADING на HASH, если не указано иное; Индексы CockroachDB всегда упорядочены. Когда схема была восстановлена YugabyteDB, idx geolite blocks range стал (network start HASH, network end ASC) и перестали служить этому предикату вообще. Измеряется: полное сканирование всех 5 820 022 строк, 8 814 мс за вызов. Это был единственный Самая дорогая вещь в базе данных — 3,96 часа совокупного времени выполнения 455 звонков плюс вторая геосвязь в среднем 16,4 с. Это также то, что Исчерпанный пул связи Службы безопасности. Сканированием (network start ASC, network end ASC): 6,9 мс и 0 строк. Присоединиться Запрос идет 16 421 мс -> 10,2 мс. Закрепляется в двух местах, потому что стол перестраивается еженедельно: - GeoLiteBlock @Index, поэтому свежие сборки схем верны. - DaemonService GeoLiteSyncService, чей своп «постановка + переименование» воссоздает индексирует каждое воскресенье и в противном случае молча отменял бы это.

Все изменения

Как вы видите судоходство?

Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.

Начните бесплатно навсегдаПосмотреть цены