Server-Driven Paging in OData Web Services

Server-driven paging ensures that the quantity of data that is returned by an OData URI does not overwhelm Microsoft Dynamics NAV Server or client program that you use to capture data, while optimizing performance.

Note

The term page in this topic refers only to a page that contains OData results and is not related to Dynamics NAV page objects.

Configuring Server-Driven Paging

You configure server-driven paging with the Max Page Size setting in the configuration for the Microsoft Dynamics NAV Server instance that you are using for OData services. To modify the setting, you can use Microsoft Dynamics NAV Server Administration Tool or Microsoft Dynamics NAV Windows PowerShell Cmdlets. For more information about Max Page Size and other Microsoft Dynamics NAV Server parameters, see Configuring Microsoft Dynamics NAV Server.

The Max Page Size setting specifies the maximum number of entities returned per page of OData results. The default value is 1000. You can consider a page to be a chunk of data. A large data feed is divided into chunks of data. Each chunk contains no more entities than the value of Max Page Size. An increase in the value of Max Page Size creates fewer chunks (or pages) per request, which in turn, decreases the processing time. However, an increase in the Max Page Size will increase the memory consumption on the Microsoft Dynamics NAV Server or client. If the value is too large, it can overload the memory on Microsoft Dynamics NAV Server. For performance reasons, you should try to set the value of the Max Page Size as large as possible without overloading Microsoft Dynamics NAV Server. If the computer that is running Microsoft Dynamics NAV Server is returning out of memory exceptions, then you should reduce the value of Max Page Size until the errors stop.

When using OData with queries that are set with a top number of rows by either the TopNumberOfRows Property and TOPNUMBEROFROWS Function, you should set the Max Page Size value greater than the value of the TopNumberOfRows property and TOPNUMBEROFROWS function. For more information, see Using OData with Queries That are Set with a Top Number of Rows.

Note

In the CustomSettings.config file for Microsoft Dynamics NAV Server, the Max Page Size setting is called ODataServicesPageMaxSize.

See Also

OData Web Services
Managing Microsoft Dynamics NAV Server Instances