From: Joe Hunt Date: Mon, 19 Nov 2018 14:27:06 +0000 (+0100) Subject: 0004760: new last_sales_order_detail function sql very slow. Optimized by @Braathwaate. X-Git-Url: https://delta.frontaccounting.com/gitweb/?p=fa-stable.git;a=commitdiff_plain;h=38998a53187e6ba7b2bc6d4ed38b305a7a190833 0004760: new last_sales_order_detail function sql very slow. Optimized by @Braathwaate. --- diff --git a/sales/includes/db/sales_order_db.inc b/sales/includes/db/sales_order_db.inc index 859fde74..97e188aa 100644 --- a/sales/includes/db/sales_order_db.inc +++ b/sales/includes/db/sales_order_db.inc @@ -630,10 +630,12 @@ function is_prepaid_order_open($order_no) function last_sales_order_detail($order, $field) { $sql = "SELECT $field - FROM ".TB_PREF."sales_order_details d" - ." LEFT JOIN " .TB_PREF."sales_orders o on d.order_no=o.order_no - WHERE debtor_no=" . db_escape($order->customer_id) - . " ORDER BY d.id DESC LIMIT 1"; + FROM ".TB_PREF."sales_order_details d + WHERE order_no = + (SELECT order_no FROM 1_sales_orders o + WHERE debtor_no=" . db_escape($order->customer_id) . " + ORDER BY order_no DESC LIMIT 1) + ORDER BY d.id DESC LIMIT 1"; $last_query=db_query($sql, "Retreive last order detail"); $row = db_fetch_row($last_query);