![]() ![]() ![]() Therefore, we considered it safe as long as we knew what we were doing.īelow is an example of an upgrade toolkit function converted to a query.Īs you can see, instead of two MODIFYALL function calls resulting in two update queries, there is just one T-SQL UPDATE call. Almost all of the upgrade code doesn’t include any of the validation logic. ![]() Instead of letting the system do inefficient and repetitive requests, especially when there are several tables involved, we moved most of the heavy data processing to direct SQL queries. Moving Upgrade Toolkit Code to SQL QueriesĬ/AL (the NAV/BC internal language) code execution eventually results in SQL database calls. Table schema synchronisation with indexes enabled took the next couple of Sundays but it was totally worth it to get a functional system earlier. To save another 10 hours on the weekend, we had to maintain SQL indexes on some large tables in BC creating them directly in SQL right after we started our BC 14 application instance for testing vital Fulfillment Centre operations. We started analysing what’s going on during the data processing and the first thing we noticed using the SQL Performance Profiler is that some table indexes are rebuilt several times along the way from NAV 2009 to BC.ĭisabling the indexes on all of the tables with a Python script decreased the data conversion to NAV 2013 step from 26 hours to only 6! We instantly knew we had to keep the indexes disabled as long as possible.
0 Comments
Leave a Reply. |