/*
  بديل لو لن تستخدم Materialized View.
  الأفضل استخدام MV للتقارير الثقيلة، لكن هذا يساعد في وضع القراءة المباشرة من الجدول.
*/

CREATE INDEX IDX_REV_BATCH_YR_MONTH_CUST
ON T_INP_OUTP_REVENUE_BATCH
(
    YEARID,
    TO_NUMBER(TO_CHAR(VISIT_END_DATE, 'MM')),
    CUSTOMER_CODE
);

BEGIN
    DBMS_STATS.GATHER_TABLE_STATS(
        ownname => USER,
        tabname => 'T_INP_OUTP_REVENUE_BATCH',
        estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE,
        cascade => TRUE,
        method_opt => 'FOR ALL COLUMNS SIZE AUTO'
    );
END;
/
