Nav client uses network different to SQL Server
I'm a navision newbie, so I hope this question makes sense.
If the query Select * from Sales Header is run in SSMS from a client, then I can see the 150MB of network traffic to give me all the fields for all the records from the SQL server to my pc, but when I open a list form based on the sales header table and jump to the end then to the beginning, only 1 or 2 MB of network traffic is generated? Can someone eplain to me how Navision client uses the network when populating a list form where you can only every see 10 records at a time, even though that are over 150K records. (The T-SQL I am using is copied from Profiler but without the cursor prepexec bits). I am restarting SQL Server between each running for testing.
TIA
If the query Select * from Sales Header is run in SSMS from a client, then I can see the 150MB of network traffic to give me all the fields for all the records from the SQL server to my pc, but when I open a list form based on the sales header table and jump to the end then to the beginning, only 1 or 2 MB of network traffic is generated? Can someone eplain to me how Navision client uses the network when populating a list form where you can only every see 10 records at a time, even though that are over 150K records. (The T-SQL I am using is copied from Profiler but without the cursor prepexec bits). I am restarting SQL Server between each running for testing.
TIA
0
Comments
-
1) NAV is using cursors to read the data...
2) You can see what is NAV running when you turn the Profiler but you need to catch events like SP:StmtCompleted and SQL:BatchCompleted. Than you will see the actual SQL statements NAV is running...0 -
[Topic moved from Navision forum to SQL Performance forum]Regards,Alain Krikilion
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!0 -
Hi,
When you run 'Select *'... all the data is transferred from the table to the SSMS studio.
On the other hand - as Kine said - NAV uses cursors. To simplify the picture you may think of it as the case when Select *' transfers the result to the SQL Server memory, and PC request only few hundreds at a time. Precisely speaking 500 with default config.
If you jump right to the bottom of the list (table) NAV sends proper FETCH command to grab only last records.
Regards,
SlawekSlawek Guzek - www.yitron.co.uk
Business Central, MS SQL Server, Wherescape RED;0
Categories
- All Categories
- 75 General
- 75 Announcements
- 66.7K Microsoft Dynamics NAV
- 18.8K 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
- 611 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 253 Dynamics CRM
- 103 Dynamics GP
- 6 Dynamics SL
- 1.5K Other
- 991 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 28 Design Patterns (General & Best Practices)
- Architectural Patterns
- 9 Design Patterns
- 4 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1K General Chat
- 1.6K Website
- 77 Testing
- 1.2K Download section
- 23 How Tos section
- 249 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions

