Hi Experts, The attached query is performing slow, this needs to be optimized to improve the performance.
Could you help me with query rewrite (or) on new indexes to be created to improve the performance? Thanks a ton in advance for your support.
SELECT tab2.rulename, tab2.totalexecuted, tab2.uniqueorder, tab1.des description, tab2.max, tab1.ruletype, tab2.uniqueorder pertange FROM (SELECT re.rule_name ruleName, Count (*) totalExecuted, Count (DISTINCT re.order_id) uniqueOrder, Max (re.id) FROM rule_execution re WHERE ? = ? AND re.status = ? AND re. type IN ( ?, ? ) AND re.order_id IN ( ?, ?, ?, ?, **************************** **************************** ?, ? ) GROUP BY re.rule_name) tab2 INNER JOIN (SELECT re2.rule_name, Max (re2.rule_description) des, Max (re2. type) ruleType FROM (SELECT re4.rule_name, Max (re4.created_date) FROM sample.rule_execution re4 WHERE ? = ? AND re4.status = ? AND re4. type IN ( ?, ? ) AND re4.order_id IN ( ?, ?, ?, ?, **************************** **************************** ?, ? ) GROUP BY re4.rule_name) re1 INNER JOIN rule_execution re2 ON re2.rule_name = re1.rule_name AND re2.created_date = re1. max GROUP BY re2.rule_name) tab1 ON tab1.rule_name = tab2.rulename ORDER BY totalexecuted DESC, rulename ASC LIMIT ? currrent indexes on rule_execution table : sample_rule_execution_upper_sample_id_idx sample_rule_execution_sample_id_idx sample_rule_execution_order_id_idx rule_pkey rule_execution_migration_unique