Как стать автором
Обновить
14
0
Олег Бабин @olegrok

Пользователь

Отправить сообщение
Можно создать TREE индекс по времени изменения, пройтись по этому отрезку с помощью небольшого Lua-скрипта и обновить то, что интересует.

Условно вот так:
for _, tuple in box.space.videocollection.index.timestamp:pairs({'2020-08-12 18:00'}, {iterator = 'GE'}) do
    box.space.videocollection:update({tuple['videoId_1']}, {
        {'+', 'viewCount', 5},
        {'+', 'likeCount', 3},
    })
end
Да, это правда. На полупустом дереве это неплохо так себя проявляет. В целом графики это и демонстрируют.

Да, perf top показывает, что всё как раз упирается в is_relevant функцию.
image
Да, конечно.

Каждая точка проверяется на принадлежность области запроса. Как только мы выходим за её границы, то делаем прыжок в следующую точку вхождения в эту область — github.com/olegrok/tarantool/commit/6f8213e487a1a8b53e83c9f5fe285ffba81af8dd#diff-ef030a57d9a36f0dc3478f8f1d36339bR41

Это функции is_relevant и get_next_zvalue.
Что вы имеете ввиду под «навигацией внутри запроса»?

Информация

В рейтинге
Не участвует
Откуда
Россия
Работает в
Дата рождения
Зарегистрирован
Активность