今天优化一个查询语句:
select to_char(m_date, 'MM'), count(*) from m_table group by to_char(m_date, 'MM'), 速度比较慢,需要1.5s左右的时间。在群里面讨教了一下高手,说通过函数索引可以优化, 于是:
create index m_date_month on m_table (to_char(m_date, 'MM'));
执行查询,
select to_char(m_date, 'MM'), count(*) from m_table group by to_char(m_date, 'MM');
变化不明显,继续讨教,说需要分析索引和表,继续
analyze index m_date_month compute statistics;
analyze table m_table compute statistics;
果然,速度大幅提高, Thanks