We all know how Navision’s restore works from its dialog window. That means restoring TableData of each selected company, common data and objects (last 2 if selected and if DB is new) and at the end secondary keys (and sum-index tables).
But I want to know more in detail? Especially I am interested in estimating the timing?
What I have noticed is that the speed (reported as KB copied) is changing per tabledata. I noticed that the table 355 is very slow in KB, while table 17 is much faster.
I checked the list of table sizes and number of records and came to following assumptions:
Navision restore takes a batch of records (eg. 1000 or 2000 or 10000?) and inserts them into DB. And the average time to insert this batch is more or less constant (but of course HW dependant).
Therefore inserting 10000 records of table 355 takes similar time span as 10000 records of table 17, but since the size of the record is very different, thus also more KB are reported during restore of T17 then during T355.
After setting asumption I have checked other tables and it somehow confirms the idea.
Of course the speed is not linear to the records size reported in "Table information", becuase the record size is highly dependant also on the secondary keys, which means you can not simply do the math based on what the “Table information” reports.
But this is only my assumption? Can someone confirm or explain how Navision’s restore actually insert data to DB?