Изменения документа Пагинация | Paging

Редактировал(а) Alexandr Fokin 2024/03/20 11:00

<
От версии < 5.5 >
отредактировано Alexandr Fokin
на 2024/01/16 12:28
К версии < 5.10 >
отредактировано Alexandr Fokin
на 2024/02/14 22:33
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -1,5 +1,8 @@
1 -|(% style="width:227px" %) |(% style="width:1257px" %)[[Индексы>>doc:Разработка.Базы данных.Механизмы.Индексы.WebHome]]
2 -|(% style="width:227px" %) |(% style="width:1257px" %)(((
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" %)(((
3 3  Почему нужна инструментальная поддержка пагинации на ключах
4 4  [[https:~~/~~/habr.com/ru/companies/tinkoff/articles/485036/>>url:https://habr.com/ru/companies/tinkoff/articles/485036/]]
5 5  
... ... @@ -6,13 +6,33 @@
6 6  Пять способов пагинации в [[Postgres>>doc:Разработка.Базы данных.SQL.PostgreSQL.WebHome]], от базовых до диковинных
7 7  [[https:~~/~~/habr.com/ru/articles/301044/>>https://habr.com/ru/articles/301044/]]
8 8  )))
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" %)
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 <column_id> > <value_id>
23 + and <column3> > <value3>
24 +order by <column1>, <column_id>
25 +limit 1000{{/code}}(((
26 +
27 +
28 +Исходные: есть таблица <testTable> со следующим индексом (<column1>, <column_id>).
29 +
30 +Выполнение: при таком запросе пагинация по столбцам <column1>, <column_id> пройдет через индекс, а условие по столбцу <column3> будет выполняться через фильтрацию (перебор): Index Cond + Filter.
31 +Если убрать условие со столбцом <column3> то вся выборка пройдет через индекс (без дополнительного поиска): Index Cond.
13 13  )))
14 -|(% style="width:227px" %) |(% style="width:1257px" %)
15 15  
34 +
35 +)))
36 +|(% style="width:254px" %) |(% style="width:1118px" %)
37 +)))
38 +|(% style="width:95px" %) |(% style="width:1390px" %)
16 16  
17 17  ----
18 18