оптимизировать расчет count в файбере.
У меня есть space на vynil, с данными вида {id, type}, необходимо получить кол-во записей по каждому типу.
Соответсвенно есть index по type, но что бы получить кол-во нужно знать значение
space.index.type:count({'Movie'})
Пока, что ничего не удалось придумать, как запустить fiber, который отжирает очень много памяти
local types = {}
for _, tuple in box.space.objects.index.types:pairs() do
local data = tuple[2]
if not types[data] then
types[data] = 1
else
types[data] = types[data] + 1
end
end
return types;
Есть конечно же еще варианты с сохранением уникальных значений type, где то и потом перебором сделать count()
Но все же возможна ли итерация по индексу не доставая все значения tuple?
он не должен жрать много памяти
Обсуждают сегодня