oracle技术点滴--随便写写

1.如oracle运行在archive log下,为了加快某些情况下sql执行速度。可暂时对某表采用nologging语句,如:[color=red]alter table emp nologging[/color]或[color=red]create table emp (xx int) nologging[/color],再执行insert /*+ append */ into XXXX。 但从数据维护的角度来说,并不建议采取此种方式。因此类操作将虽然大量减少了redo信息,但数据可稳定效得不到保证。


2.索引虽然在查询时能大幅提高查询速度,但索引其实也占据了大量的存储空间。特别是某此数据量极大的情况下表(超过几百万乃至上千万条行记录),在执行大批量insert语句将极其影响插入速度。此等操作应在系统空闲时执行,可先将索引删除,待数据插入完毕后,再索引重建。


3.统计实时海量数据报表时,可考虑表分区。以前有个项目的数据库设计为:
AAA00表
AAA05表
AAA10表
AAA15表
AAA20表
AAA25表------>BBB小时表------>CCC天表
AAA30表
AAA35表
AAA40表
AAA45表
AAA50表
AAA55表
解释如下:
AAA为分钟表,粒度为5分钟。BBB为小时表,粒度为1小时。CCC为天表,粒度1天。那相应1天AAA表将会有288个,BBB表将24个,CCC表1个。靠oracleJOB定时执行存储过程(交换分区),AA表转换到BBB再CCC表,转换成功完成AAA表及BBB表数据将清空。而ccc表将为当天统计数据。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值