Oracle实践

现在项目的数据量很大(表数量级达到10亿级别),在处理查询和插入数据都比较耗时。目前处理比较多的方法如下:

1.对某些字段建立分区和相应的索引;

2.对基础表进行预统计,比如要查询每个每个月的总费用,那么做个月预统计表,在月底时使用job执行。

2.查询时,有分区字段的情况下,优先使用索引,强制使用索引select /*+index(index_name table_name)*/ filed1,fileld2 from t where t.data_date>=sysdate-7 and t.data_date<=sysdate and t.id=1232;这里data_date和id是主键索引。日期分区字段在查询时,最好查询出所有日期,比如t.data_date in (select begin_date + level -1 from dual connect by begin_date+level-1<=end_date),查询出每一天的日期。

3.大表插入数据时,若表不会有经常删除数据的情况下,可以使用装载的方式,比如insert /*+append*/ into table_name values...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值