> ## Documentation Index
> Fetch the complete documentation index at: https://docs.1unic.com/odatav4/llms.txt
> Use this file to discover all available pages before exploring further.

# Лимиты

> Базовые лимиты запроса, пределы разбора, лимиты профиля и $batch

Лимиты защищают базу от тяжёлых запросов. Превышение отклоняется **до выполнения**: ответ `400`, `413` или `429` с фактом превышения.

## Базовые лимиты

Базовые лимиты действуют всегда, в том числе без профиля. Они задаются на вкладке «Лимиты» настроек. Пустое значение или 0 означает значение по умолчанию. Лимит профиля того же смысла действует, если он строже.

<Frame caption="Вкладка «Лимиты» формы «Настройки OData4»">
  <img src="https://mintcdn.com/o-data-v4/8iesiGXq06VGcZxz/images/admin/settings-limits.png?fit=max&auto=format&n=8iesiGXq06VGcZxz&q=85&s=1087e6ad6a160b888634f81eb2e28b0f" alt="Вкладка «Лимиты» формы «Настройки OData4»" width="1094" height="680" data-path="images/admin/settings-limits.png" />
</Frame>

| Лимит | По умолчанию | Что ограничивает |
| - | - | - |
| Наибольшее число раскрытий | 200 | Раскрытия одного запроса: соединения навигаций и табличные части раскрытых объектов. Например, `$expand=*($expand=*($expand=*))` у документа — сотни соединений |
| Наибольшее число элементов `in` | 500 | Элементы списка `in (…)`. Значения передаются параметрами запроса, а СУБД ограничивает их число (MS SQL — 2100) |
| Наибольшее число элементов `$orderby` | 32 | Элементы `$orderby`, в том числе во вложенных опциях `$expand` |
| Наибольшая длина строкового литерала | 1000 | Длина строки в выражениях (`contains`, `eq` и т. п.) |
| Наибольшая сложность выражения | 1000 | Узлы дерева каждого выражения-отбора: `$filter`, `filter` в `$apply`, `$filter` раскрытия, `Condition` |

## Постоянные пределы

| Предел | Значение |
| - | - |
| Длина параметра запроса | 8000 символов |
| Вложенность выражения | 32 |
| Цепочка однотипных операций (`a or b or …`) | 99 членов |
| Высота дерева разбора | 150 |
| Глубина `$expand` | 3 уровня |
| Переходов в пути навигации | 10 |
| `$skip` | не больше 10 000 |
| Шагов `$apply` | 10 |

## Лимиты профиля

Профиль может задать свои лимиты (см. [Профили](/odatav4/security/profiles#лимиты-профиля)):

* размер страницы;
* наибольший `$top`;
* глубина `$expand`;
* шагов `$apply`;
* сложность фильтра;
* операций в `$batch`.

Правила частоты профиля дают `429` с `Retry-After`.

## Лимиты \$batch

| Настройка (вкладка «Запись») | По умолчанию | Превышение |
| - | - | - |
| Наибольший размер `$batch`, МБ | 10 | `413` до разбора тела |
| Наибольшее число операций в `$batch` | 100 | `400` с числом операций до выполнения |

## Страницы

По умолчанию коллекция выдаётся страницами по 1000 строк с `@odata.nextLink`. Клиент может попросить другой размер заголовком `Prefer: odata.maxpagesize=N`, лимит профиля ограничивает его сверху. Выдача одним ответом и её пределы описаны на странице [Постраничная выдача](/odatav4/read/paging).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.