один огромный индекс или два маленьких?

Суть проблемы. имеется индекс определяющий земельные участки. всего их порядка 70 млн
параметры статуса - продан, резерв или свободен
параметры гео - геодата
и три MVA поля для определения характеристик. перечислять не будут они заданы числами вариантов 200 штук.
и главное поле это активность которое имеет значение 0 или 1 причем активных всего порядка 8 млн гораздо меньше.
на текущий момент индекс занимает уже 350 ГБ на диске
поиск всех земельных участков 0,05-0,4 сек
и как не парадоксально поиск активных тоже занимает такое же время 0,05 - 0,4 сек но их же гораздо меньше.
имеется второй индекс (старый) там содержатся только активные земельные участки. по ним поиск 0,01-0,1 сек. гораздо быстрее

Так получается проще иметь два индекса? один для всех второй только по активным? или как то можно настроить выборку в первом индексе и при указании фильтра active=1 лишние записи 63 млн откинутся?

как то можно настроить выборку в первом индексе и при указании фильтра active=1 лишние записи 63 млн откинутся?

Нормальным способом - только через secondary indexes. Это войдёт в ближайший релиз (который надеюсь случится через неделю - две), но в dev версии уже есть. Если есть желание уже попробовать, не дожидаясь релиза - пишите.

1 Like