# Исходный код вики Пагинация | Paging

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

Последние авторы

author | version | line-number | content
--- | --- | --- | ---
|  | 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 | Почему нужна инструментальная поддержка пагинации на ключах
|  | 7 | [[https:~~/~~/habr.com/ru/companies/tinkoff/articles/485036/>>url:https://habr.com/ru/companies/tinkoff/articles/485036/]]
|  | 8 |
|  | 9 | Пять способов пагинации в [[Postgres>>doc:Разработка.Базы данных.SQL.PostgreSQL.WebHome]], от базовых до диковинных
|  | 10 | [[https:~~/~~/habr.com/ru/articles/301044/>>https://habr.com/ru/articles/301044/]]
|  | 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.
|  | 33 | )))
|  | 34 |
|  | 35 |
|  | 36 | )))
|  | 37 | |(% style="width:254px" %) |(% style="width:1118px" %)
|  | 38 | )))
|  | 39 | |(% style="width:95px" %) |(% style="width:1390px" %)
|  | 40 |
|  | 41 | ----
|  | 42 |
|  | 43 | ==== Внутренние ссылки: ====
|  | 44 |
|  | 45 | ====== Дочерние страницы: ======
|  | 46 |
|  | 47 | {{children/}}
|  | 48 |
|  | 49 | ====== Обратные ссылки: ======
|  | 50 |
|  | 51 | {{velocity}}
|  | 52 | #set ($links = $doc.getBacklinks())
|  | 53 | #if ($links.size() > 0)
|  | 54 | #foreach ($docname in $links)
|  | 55 | #set ($rdoc = $xwiki.getDocument($docname).getTranslatedDocument())
|  | 56 | * [[$escapetool.xml($rdoc.fullName)]]
|  | 57 | #end
|  | 58 | #else
|  | 59 | No back links for this page!
|  | 60 | #end
|  | 61 | {{/velocity}}
|  | 62 |
|  | 63 | ----

## Приложения