2016-08-09 178 views
0

Diese grundlegende Abfrage einen Fehler System.OutOfMemoryException wirft zu beschleunigen, nachdem ich job_price_line beitretenTemp-Tabelle Diese Abfrage

Wollte job_price_hdr eine temporäre Tabelle, diese Abfrage beschleunigen die Erstellung? Ich verstehe andere Erklärungen, die ich zu diesem Thema gelesen habe, nicht. Vielen Dank!

select 
oe_line.qty_invoiced, 
invoice_hdr.invoice_no, 
invoice_hdr.invoice_date, 
invoice_line.unit_price, 
invoice_line.item_desc, 
invoice_line.customer_part_number, 
invoice_line.pricing_unit, 
invoice_hdr.ship_to_id, 
invoice_hdr.po_no, 
invoice_hdr.ship_to_id, 
invoice_line.item_id, 
invoice_hdr.customer_id, 
job_price_hdr.contract_no, 
job_price_hdr.cancelled, 
job_price_line.line_no, 
invoice_hdr.sales_location_id 

from invoice_hdr 

join invoice_line on invoice_line.invoice_no = invoice_hdr.invoice_no 
join oe_line on oe_line.order_no = invoice_hdr.order_no 

join job_price_hdr on job_price_hdr.corp_address_id = invoice_hdr.corp_address_id 
join job_price_line on job_price_line.job_price_hdr_uid = job_price_hdr.job_price_hdr_uid 

where invoice_hdr.invoice_date between ('2016-05-02') and ('2016-05-03') 
and job_price_hdr.cancelled = 'N' 
and invoice_hdr.sales_location_id = '200' 
+0

Welche Datenbank ist das? Welche Sprache & Code löst System.OutOfMemoryException aus? Es sieht nicht wie ein Datenbankfehler aus. –

+0

SQL Server 2012 – eggwhites

+0

Der Server selbst wird nicht angezeigt "System.OutOfMemoryException" müssen Sie genau beschreiben, wo Sie diese Nachricht und andere Details angezeigt werden –

Antwort

1

Es ist egal, Geschwindigkeit wird eine out of memory Ausnahme lösen. Es sieht so aus, als ob dein letzter Join die Anzahl der zurückkommenden Datensätze stark vervielfacht hat. Versuchen Sie, Ihre Felderliste mit count (*) zu ersetzen, um zu sehen, wie viele Datensätze Sie zuerst zurück erhalten.

+0

Upvoted, weil zu dem Zeitpunkt, als diese Antwort gegeben wurde, die Person nicht genug Ruf hatte, um Kommentare zu schreiben. –