Изменения документа Пагинация | Paging
Редактировал(а) Alexandr Fokin 2024/03/20 11:00
<
>
отредактировано Alexandr Fokin
на 2024/01/11 14:26
на 2024/01/11 14:26
отредактировано Alexandr Fokin
на 2024/02/10 16:09
на 2024/02/10 16:09
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,12 +1,42 @@ 1 -|(% style="width:270px" %) |(% style="width:1184px" %)[[Индексы>>doc:Разработка.Базы данных.Механизмы.Индексы.WebHome]] 2 -|(% style="width:270px" %) |(% style="width:1184px" %)Почему нужна инструментальная поддержка пагинации на ключах 1 +|(% style="width:95px" %) |(% style="width:1390px" %)Пагинация, Paging, Pagination 2 +|(% style="width:95px" %) |(% style="width:1390px" %)((( 3 +[[Индексы>>doc:Разработка.Базы данных.Механизмы.Индексы.WebHome]], [[План выполнения запроса>>doc:Разработка.Базы данных.SQL.Механизмы.План выполнения запроса.WebHome]] 4 +))) 5 +|(% style="width:95px" %) |(% style="width:1390px" %)((( 6 +Почему нужна инструментальная поддержка пагинации на ключах 3 3 [[https:~~/~~/habr.com/ru/companies/tinkoff/articles/485036/>>url:https://habr.com/ru/companies/tinkoff/articles/485036/]] 4 -|(% style="width:270px" %) |(% style="width:1184px" %)Пять способов пагинации в [[Postgres>>doc:Разработка.Базы данных.SQL.PostgreSQL.WebHome]], от базовых до диковинных 8 + 9 +Пять способов пагинации в [[Postgres>>doc:Разработка.Базы данных.SQL.PostgreSQL.WebHome]], от базовых до диковинных 5 5 [[https:~~/~~/habr.com/ru/articles/301044/>>https://habr.com/ru/articles/301044/]] 6 -|(% style="width:270px" %) |(% style="width:1184px" %) 7 -|(% style="width:270px" %) |(% style="width:1184px" %) 11 +))) 12 +|(% style="width:95px" %) |(% style="width:1390px" %)((( 13 +|(% style="width:254px" %)Страничная пагинация. 14 +Offset|(% style="width:1118px" %) 15 +|(% style="width:254px" %)Пагинация на ключах. 16 +Keyset, seek.|(% style="width:1118px" %)((( 17 +|(% style="width:84px" %) |(% style="width:1015px" %) 18 +|(% style="width:84px" %)Пример 1|(% style="width:1015px" %){{code language="sql"}}select * 19 +from <testTable> 20 +where 21 + <column1> > <value1> 22 + and <column2> > <value2> 23 + and <column3> > <value3> 24 +order by <column1>, <column2> 25 +limit 1000{{/code}}((( 26 + 8 8 28 +Исходные: есть таблица <testTable> со следующим индексом (<column1>, <column2>). 29 + 30 +Выполнение: при таком запросе пагинация по столбцам <column1>, <column2> пройдет через индекс, а условие по столбцу <column3> будет выполняться через фильтрацию (перебор): Index Cond + Filter. 31 +Если убрать условие со столбцом <column3> то вся выборка пройдет через индекс (без дополнительного поиска): Index Cond. 32 +))) 33 + 9 9 35 +))) 36 +|(% style="width:254px" %) |(% style="width:1118px" %) 37 +))) 38 +|(% style="width:95px" %) |(% style="width:1390px" %) 39 + 10 10 ---- 11 11 12 12 ==== Внутренние ссылки: ====