In case you have your own slow SQL query, you can optimize it automatically here.
For the query above, the following recommendations will be helpful as part of the SQL tuning process.
You'll find 3 sections below:
ALTER TABLE `CUSTINVOICEJOUR` ADD INDEX `custinvoicejour_idx_dataareaid_invoicedate` (`DATAAREAID`,`INVOICEDATE`);
ALTER TABLE `CUSTTRANS` ADD INDEX `custtrans_idx_dataare_invoice_account_transda` (`DATAAREAID`,`INVOICE`,`ACCOUNTNUM`,`TRANSDATE`);
ALTER TABLE `es_temp1` ADD INDEX `es_temp1_idx_dataareaid_refrecid_accountnum` (`DATAAREAID`,`REFRECID`,`ACCOUNTNUM`);
ALTER TABLE `es_temp2` ADD INDEX `es_temp2_idx_dataare_transre_account_transco` (`DATAAREAID`,`TRANSRECID`,`ACCOUNTNUM`,`TRANSCOMPANY`);
SELECT
J.INVOICEID,
T.AMOUNTCUR,
T.RECID,
T.ACCOUNTNUM,
CASE
WHEN O.DATAAREAID IS NULL THEN 0
ELSE 1 END hasOpenTrans,
CASE
WHEN P.DATAAREAID IS NULL THEN 0
ELSE 1 END hasPayment
FROM
CUSTINVOICEJOUR J
LEFT JOIN
CUSTTRANS T
ON T.DATAAREAID = J.DATAAREAID
AND T.INVOICE = J.INVOICEID
AND T.ACCOUNTNUM = J.INVOICEACCOUNT
AND T.TRANSDATE = J.INVOICEDATE
LEFT JOIN
es_temp1 O
ON O.DATAAREAID = T.DATAAREAID
AND O.REFRECID = T.RECID
AND O.ACCOUNTNUM = T.ACCOUNTNUM
LEFT JOIN
es_temp2 P
ON P.DATAAREAID = T.DATAAREAID
AND P.TRANSRECID = T.RECID
AND P.ACCOUNTNUM = T.ACCOUNTNUM
AND P.TRANSCOMPANY = T.DATAAREAID
WHERE
J.DATAAREAID = '011'
AND J.INVOICEDATE >= '2014-06-01'