Nav - Optimize Tables

Malcynn
Member Posts: 4
Version: Navison 2009 - Classic Client. (MS SQL 2008 Back-end)
We are finding that when we post Credit Notes, Apply Payments or print invoices we find the system to be extremely slow (could take over 7 minutes to post a credit note). We have never run the Table Optimization routine within Nav nor have I re-indexed the tables in the SQL Server. We have several companies in our current database.
I do not believe we have made any customization's to any of these reports/tables. Would running the table optimization function (In Nav) followed by updating the table stats (SQL SIDE - sp_Updatestats) possibly increase my performance without having to re-index my tables in SQL. If so how often should we be running these routines.
More information that could help:
1) # of Number of users 30-35
2) # of posters 2 (issue occurs even if there is only one person posting).
3) Dimension codes in use - 2
4) Database size about 5 gig
Your thoughts,
We are finding that when we post Credit Notes, Apply Payments or print invoices we find the system to be extremely slow (could take over 7 minutes to post a credit note). We have never run the Table Optimization routine within Nav nor have I re-indexed the tables in the SQL Server. We have several companies in our current database.
I do not believe we have made any customization's to any of these reports/tables. Would running the table optimization function (In Nav) followed by updating the table stats (SQL SIDE - sp_Updatestats) possibly increase my performance without having to re-index my tables in SQL. If so how often should we be running these routines.
More information that could help:
1) # of Number of users 30-35
2) # of posters 2 (issue occurs even if there is only one person posting).
3) Dimension codes in use - 2
4) Database size about 5 gig
Your thoughts,
0
Comments
-
Optimizing the tables in NAV is not needed.
Best create a maintenance plan in SQL Server to rebuild the indexes at least once a week (if you have time also each night) with a fillfactor of 90% (= leave 10% free space in pages). Rebuilding the index removes fragmentation inside the database and at the same time calculates the statistics with 100% sampling. Better than that....
Do NOT use autoshrink in properties or with a maintenance plan.
Make sure your database always has around 80% free space (easiest to check using NAV => File => Database Info
Check if your database files are fragmented and if they are, run the Windows defrag.
With a DB of 5 GB, I don't think memory is a problem, at least if there are no other databases on the server and nothing else runs on that server.
There are also others things to control, but I would start with these.Regards,Alain Krikilion
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!0 -
-
Kriki, I will try that out and see what happens. I fully support your statement on the auto shrink, I have never been a fan of that functionality in SQL. I could run a defrag on it the server tonight after hours, though I have never done this on a Windows Server before. My database usage is at about 94% (stated in Nav-Database-Info), looking at the database setup in the SQL Server it is set to Autogrowth (by 10%). Should I change this?
Mark, thank you for the video. I will run each of those scripts manually today to see what impact they will have on my test databases. Kriki suggests I run a 90% fill factor vs the 15% fill factor your recommend in your video. I will try with both and see which works best for our database.
What I did forget to mention is that all users access Navision through a Terminal Server (I have checked for memory and hard disk space and all is well on that front even the cpu is sitting at about 40% (peak) which is good for 33 simultaneous users).
Thank you all in advance,0 -
The autogrowth should only be used as a failsafe to avoid that the person that can grow the database is ill or in vacation and your databasefile is 100% full.
10% is not a good idea because it starts with very small increments and when the database is big, they are very big increments.
Better change it to 50MB increments. But like I said, this is only as failsafe. The best is to grow it manually when the need arrives.
90% or 85% fillfactor does not change a lot. It is a value that depends on personal preference. The idea is not to have 100% fill factor.Regards,Alain Krikilion
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!0 -
Fill Factor means the amount of free space on a SQL Server page. A page can contain a number of records.
Let's say that for example a page can contain 10 records of a sales line. If then someone later adds another salesline for the same order this is stored on a different page, unless the fill factor allows free space.
With 90% kriki means that 90% of the page is used.
With 15% denster means that 85% of the page is used.
There are more advanced tools that calculate this percentage based in page splits.0 -
Hey Mark, why do an sp_createstats 'indexonly' only and not an sp_createstats fullscan? Is it because your re-index plan accommodates the fullscan on the data (100% sample)?0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions