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