NAV Query very slow, LOOP JOIN seems to be a problem
Maria-S
Member Posts: 90
Hello experts,
Here is a mistery.
I have table with 113 records, let's name it SomeEntries.
Then I insert copy-past ~5 000 records to it (I need to test the performance).
Then I create NAV Query:
Sales Invoice Header / SomeEntries - linked on No.= Document No. with option <Use Default Values if no Match>
I run the query and it takes minutes to complete. As a comparison I created SalesInvoiceHeader/SalesLines query and it runs much faster.
SQL MS Studio Actiivity Monitor shows that query is SELECT TOP 1000 ... bla-bla.. OPTION(OPTIMIZE FOR UNKNOWN, FAST 50, FORCE ORDER, LOOP JOIN).
When I try to run the query, and comment parts out, the problem seems to be LOOP JOIN. Without it it runs much faster.
It seems that problem might be that i recently added so much entries to that table. I updated statistics and even rebuild index on SomeEntries table. But this does not help.
Somebody has any thoughts what else can I do to make NAV Query work normally, please?
Here is a mistery.
I have table with 113 records, let's name it SomeEntries.
Then I insert copy-past ~5 000 records to it (I need to test the performance).
Then I create NAV Query:
Sales Invoice Header / SomeEntries - linked on No.= Document No. with option <Use Default Values if no Match>
I run the query and it takes minutes to complete. As a comparison I created SalesInvoiceHeader/SalesLines query and it runs much faster.
SQL MS Studio Actiivity Monitor shows that query is SELECT TOP 1000 ... bla-bla.. OPTION(OPTIMIZE FOR UNKNOWN, FAST 50, FORCE ORDER, LOOP JOIN).
When I try to run the query, and comment parts out, the problem seems to be LOOP JOIN. Without it it runs much faster.
It seems that problem might be that i recently added so much entries to that table. I updated statistics and even rebuild index on SomeEntries table. But this does not help.
Somebody has any thoughts what else can I do to make NAV Query work normally, please?
0
Answers
-
Hi,
Add a "Document Type" to your SomeEntry table, make it a part of PK, just like Document Type/Document No pair in Sales Header, then join both tables on both fields
EDIT:
Sorry didn't spot that you are joining Sales Invoice Header, so of course Document Type does not apply here
SlawekSlawek Guzek - www.yitron.co.uk
Business Central, MS SQL Server, Wherescape RED;0 -
Small update: I needed some more queries and calculations. Ended by creating SQL stored procedures, calculating all figures that I need, and calling them from NAV.
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
