Performance of the initial load to Dataverse from Business Central

Recently, I received some questions about the performance of the initial data sync from Business Central to Dataverse.
If you have a lot of columns and records in a table, it can indeed be slow.
The system will look up all the fields and then create an integration record, which can take a long time
You can find information on how the sync works in these links:
Customizing an integration with Microsoft Dataverse – Business Central | Microsoft Learn
Sync your BC data to Dataverse with less code – Discover Microsoft Business Central
The Setup
In this experiment, I used two sync tables:
- The employee table with 501 records and 3 columns
- The customer table with 2002 records and 18 columns
Default sync timings
First, we measure the initial load of both tables on the default sync.
For the employee table, the initial sync takes almost 2 minutes, which is around 200 milliseconds per record.

For the customer table, it takes much longer, around 800 milliseconds per record.

So, if you have a lot of records and columns, it will take a while. There are two ways to work around this: with a manually written sync or through an import from Excel into Dataverse.
Through manual sync
If you have created a proxy table inside Business Central, you can directly work with it as it is a manual table. The only difference is that you first need to register the CDS table in your code.
When you try to move records from Business Central to Dataverse, it will look like this for the employee table:

If we do this for both the employee table and the customer table, we get the following durations:
For the employee table:

And for the customer table:

For the employee table, this doesn’t provide any benefits, but for the customer table, it does.
However, this is not the total time because you also need to set up the coupling inside Business Central.
For the employee it will be:

And for the customer:

So, for the customer table, it is still beneficial as you save 10 minutes. For the employee table, it takes even longer.
Import through Excel
You can also import data in Dataverse from Excel:

I chose the first method because the second import always fails with an unknown error. You can also simply export data from Business Central through a list page to Excel.
If we try this scenario for both tables.
Employee:

And for the customer:

The import is very quick! But you also need to take the coupling into account, as mentioned before.
Conclusion
If you have a table with only a few columns, you can still use the option to start a full synchronization.
For tables with more columns, you can use the manual sync or the import from Excel.
The latter is especially quick, but you need to take the coupling into account.
Leave a Reply