Долгое выполнение запроса
Всем привет. Помогите, пожалуйста, с выполнением запроса. Можно ли каким-то образом оптимизировать данный скрипт для более быстрого выполнения?
SELECT SYSDATE AS DATE_L,
ta.OPER_MONTH,
ta.AGENT_ID,
ta.GAME_ID,
ta.DRAW_ID,
SUM(ta.TICKET_CNT) AS TICKET_CNT,
SUM(ta.amount) AS AMOUNT
FROM (SELECT TRUNC(t.pay_date, 'MM') AS OPER_MONTH,
t.pay_gate_agent_id AS AGENT_ID,
t.id_game AS GAME_ID,
t.id_draw_play AS DRAW_ID,
COUNT(t.id_ticket_root) AS TICKET_CNT,
SUM(t.win_amount) AS AMOUNT
FROM DWH.T$ALL#TICKET t
INNER JOIN dwh_mart.t$games g
ON g.id = t.id_game
AND g.game_is_active = 1
AND g.game_group <> 4
WHERE t.pay_date >= to_date('01.07.2021')
AND t.pay_date < to_date('06.08.2021')
AND t.pay_date >= TO_DATE('01.07.2021')
AND (t.payment_flag = 0 OR t.payment_flag IS NULL)
AND t.pay_gate_agent_id <> 2404
GROUP BY TRUNC(t.pay_date, 'MM'),
t.pay_gate_agent_id,
t.id_game,
t.id_draw_play
UNION ALL
SELECT TRUNC(arm.oper_date, 'MM') AS OPER_MONTH,
arm.agent_id AS AGENT_ID,
arm.id_game AS GAME_ID,
arm.id_draw_play AS DRAW_ID,
COUNT(arm.ticket_barcode) AS TICKET_CNT,
SUM(arm.amount) AS AMOUNT
FROM ODS_MART.T$1CB#ARM_OPER arm
WHERE arm.oper_date >= TO_DATE('01.07.2021')
AND arm.oper_date >= to_date('01.07.2021')
AND arm.oper_date < to_date('06.08.2021')
AND arm.reg_ticket_type IN (0, 2)
GROUP BY TRUNC(arm.oper_date, 'MM'),
arm.agent_id,
arm.id_game,
arm.id_draw_play) ta
GROUP BY ta.OPER_MONTH, ta.AGENT_ID, ta.GAME_ID, ta.DRAW_ID
Данный вариант уже немного видоизмененный (Plan Hash Value был больше 3500000000, но все равно достаточно долго выполняется. План прикладываю.
Индекс по таблице DWH.T$ALL#TICKET:

Индекс по таблице ODS_MART.T$1CB#ARM_OPER:

Индекс по таблице dwh_mart.t$games по столбцу ID
Статистика :

