Size: a a a

2019 December 23

AB

Alexander Beniaminov in pro.elixir
Евгений
это вроде не то что требуется
а что не так с ZREVRANGEBYSCORE ?
источник

Е

Евгений in pro.elixir
а как в нем вывести топ 10?
источник

Е

Евгений in pro.elixir
насколькоя понял он просто диапазон по поинтам генерит, а не по позициям
источник

AB

Alexander Beniaminov in pro.elixir
насколькоя понял позиция - это порядковый номер элемента в отсортированном списке
источник

AB

Alexander Beniaminov in pro.elixir
определить "позиции" придется самому
источник

AB

Alexander Beniaminov in pro.elixir
Евгений
а как в нем вывести топ 10?
ZREVRANGEBYSCORE myzset +inf -inf WITHSCORES 10
источник

a

atanych in pro.elixir
Vladimir Sekisov
если "интересные" диапазоны фиксированы,
то может замерить производительность при
частичных индексах по
диапазонам и сколько
будет занимать просто
union из трех запросов
их шт 5
источник

a

atanych in pro.elixir
и это выглядит как хорошее предложение )
источник

a

atanych in pro.elixir
сейчас измерим
источник

a

atanych in pro.elixir
ORDER BY с OFFSET и LIMIT - очень быстрый
источник

Е

Евгений in pro.elixir
Alexander Beniaminov
ZREVRANGEBYSCORE myzset +inf -inf WITHSCORES 10
ну так это тот же offset/limit
источник

Е

Евгений in pro.elixir
atanych
ORDER BY с OFFSET и LIMIT - очень быстрый
он быстрый если OFFSET не слишком большой, так как оно просто перебирает все записи.
источник

Е

Евгений in pro.elixir
Alexander Beniaminov
ZREVRANGEBYSCORE myzset +inf -inf WITHSCORES 10
лучше уже упомянутый zrange/zrevrange
источник

a

atanych in pro.elixir
Евгений
он быстрый если OFFSET не слишком большой, так как оно просто перебирает все записи.
разве индекс здесь не будет работать? если ORDER по индексируемому полю?
источник

a

atanych in pro.elixir
сейчас проверяем этот момент
источник

Е

Евгений in pro.elixir
atanych
разве индекс здесь не будет работать? если ORDER по индексируемому полю?
не будет, индекс по поинтам, а оффсет по позициям
источник

a

atanych in pro.elixir
нет позиций
источник

Е

Евгений in pro.elixir
точнее индекс будет работать только для ORDER
источник

Е

Евгений in pro.elixir
atanych
нет позиций
оффсет и лимит считают именно позиции, просто рчды по порядку сортировки, если оффсет 100k оно будет перебирать 100k записей.
источник

AB

Alexander Beniaminov in pro.elixir
ZREVRANGEBYSCORE - этто и есть оптимизированный LIMIT OFFSET, SELECT не нужен, так как все лежит в памати уже в виде двунаправленного отсортированного по пойнтам списка
источник