170 похожих чатов

Воспользуюсь моментом для закрытия ещё одного пробела, касаемо курсорной пагинации Допустим,

у нас есть пагинация и какая-то фильтрация: товары по categoryId. Когда начинает тормозить offset? До или после выборки?

Виляют ли на него какие-то данные, которые не попадают в условие where?

Читал на форумах, что offset начинает тормозить где-то на 100 000. В реалиях БД это невероятно мало, а в реалиях сайта, допустим новостной ленты, сложно представляется, что там offset хотя бы до 10 000 дойдёт, так как фильтрация сильно сужает диапазон данных, по которым будет работать offset

17 ответов

25 просмотров
А4 Одноногое- Автор вопроса

Или я что-то банальное упускаю?

такого рода пагинация невозможна без сортировки если сортировка совпадает с сортировкой индекса - все в порядке, нечему тормозить если не совпадает - тормозить будет сортировка

это от запроса зависит

А4 Одноногое- Автор вопроса
Daniel Podolsky
это от запроса зависит

Например? (я просто даже не знаю, как правильно вопрос в гугле или chatgpt сформулировать)

Daniel Podolsky
такого рода пагинация невозможна без сортировки е...

Что-то я запутался. Сортировка с сортировкой индекса? Чего?

если будете выбирать по primary key, то офссет не будет тормозить

совападает, если вы сделали индекс по полю, по которому делаете orderBy

Без сортировки у вас порядок выдачи не детерминирован Фактически - случайная выборка с первой страницы

А4 Одноногое- Автор вопроса
Daniel Podolsky
Без сортировки у вас порядок выдачи не детерминиро...

На цене товара весит индекс, а это значит, что товар для выборки уже отсортирован (и это, наверное, сильно сбивает меня с толку)

А4 Одноногое- Автор вопроса
Dmitriy Sviridov
Нет, не значит

Почему не значит? Если там висит индекс, то для выборки будет выполняться бинарный поиск, а для этого данные должны быть отсортированы

А4 Одноногое
Почему не значит? Если там висит индекс, то для вы...

Потому что сортировка в SQL - это ORDER BY. Без него порядок записей не определённый

А4 Одноногое- Автор вопроса
Dmitriy Sviridov
Потому что сортировка в SQL - это ORDER BY. Без не...

Ну.. я немного не это имел ввиду, но ладно)

А4 Одноногое
Почему не значит? Если там висит индекс, то для вы...

или фуллскан, если планировщик не придумает, как индекс задействовать

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта