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:
CREATE INDEX order_idx_orderdate ON order (orderDate);
CREATE INDEX person_idx_id_company_id ON person (id,company_id);
CREATE INDEX person_idx_company_id_id ON person (company_id,id);
SELECT
DISTINCT p1.company_id
FROM
order o JOIN
person p1
ON (
o.person_id = p1.id
AND p1.company_id IS NOT NULL
)
WHERE
o.orderDate > '2017-01-01'
AND o.orderDate < '2017-09-01'
AND NOT EXISTS (
SELECT
p2.company_id
FROM
order o2 JOIN
person p2
ON (
o2.person_id = p2.id
AND p2.company_id = p1.company_id
)
WHERE
o2.orderDate < '2017-01-01'
)