很折磨人的SQL优化

今天继续搞那一卡通 DB的SQL 

折腾了一天,简单记下,等周一再补齐

1、干掉一个5900万笔记录上一个Distinct_key值只有36的索引,加快每天对这个表一次性插入约60万笔记录SQL的速度

2、在那个向5900万笔记录的表每日一次性插入60万笔记录的SQL上,加入/*+append*/  Hint,使Insert变成直接路径插入

3、这个5900万笔记录的人员消费明细表最后还要按部门Group BY一下当月数据,insert进部门月报表。但5900万的表上月份代码字段的索引(Distinct Key 36)被干掉,现在Select group By 这个Table时执行计划出现了全表扫,物理读有101万。改写这个Insert SQL,改以当前月份Code限制为当前月份的时间段限制,Insert时就能选中相应的时间索引,物理读是原来的1/6。

原:code='2011-12'  --->新: sdate >=to_date('2011/12/01','yyyy/mm/dd')  and sdate <=to_date('2011/12/31','yyyy/mm/dd')

这BT的开发,每天都要重复生成前7天的人员消费表明细和部门月报表明细
请使用浏览器的分享功能分享到微信等