Why Do Reports Slow Down Users in Business Central?
Many organizations using Microsoft Dynamics 365 Business Central face a common problem that when large reports or API calls run, normal users experience slower performance. One reason can be that the reporting and transactional operations use the same primary database resource.
To help solve this issue, Microsoft introduced DataAccessIntent. This property separates reporting workloads from transactional operations to keep the system running smoothly.
Understanding the Database Replica
Before using DataAccessIntent, it is important to understand the concept of a database replica.
A database replica is a synchronized copy of the main production database. It is mainly used for read-only activities i.e. reports, analytics, and API requests so that these operations do not overload the primary transactional database where users are working.
What is DataAccessIntent?
DataAccessIntent is a property in Business Central that tells the system whether database access should be:
ReadWrite: For transactional operations (Default).
ReadOnly: For reporting and analytical operations.
When set to ReadOnly, Business Central can route requests to a read-only database replica instead of the primary database.
Code:
This property can be used in:
Reports
Queries
API pages
In SaaS, Microsoft automatically manages the database replicas and infrastructure so developers only need to apply the DataAccessIntent property.
Benefits of DataAccessIntent
- Using DataAccessIntent improves performance by running reporting operations separately from transactional workloads.
- It reduces database locking by ensuring read-only operations minimize conflicts with transactional data.
Limitations to Consider
- Using `ReadOnly` prevents the ability to insert, modify, or delete records.
- Replica databases may experience a slight data delay and not reflect the latest transactions immediately.
No comments:
Post a Comment