oracle技术点滴--随便写写
2010-08-12 10:56
204 查看
1.如oracle运行在archive log下,为了加快某些情况下sql执行速度。可暂时对某表采用nologging语句,如:alter table emp nologging或create table emp (xx int) nologging,再执行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表将为当天统计数据。
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表将为当天统计数据。
相关文章推荐
- oracle技术点滴--snaphost
- oracle技术点滴--sql篇1
- Oracle不同字符集数据导入技术点滴
- oracle技术点滴--执行计划简介
- 程序员修炼之路(一)--随便写写,养成写技术博客的习惯
- [转自Oracle官方技术博客]对于一个非空字段定义的表导出后,再imp时候报错ORA-01400: cannot insert NULL into xxx 为何呢?
- Oracle Flashback技术总结(四)—— Flashback Table 和Flashback Data Archive
- oracle技术之group by rollup查询结构
- oracle 点滴
- Oracle技术之11.2 RAC时间同步异常(二)
- excel技术点滴
- 我的Oracle技术笔记
- 写给新年的自己吧,写点什么好呢,那就随便写写啦
- 随便写写(3)
- Oracle中的数据字典技术初级入门
- 中亦科技黄远邦技术人生(16) ——红色警报--Oracle宕机潮来临,快快行动起来!
- ORACLE 数据库备份技术
- Oracle技术之和分区表相关的一点总结(二)
- [DB]Oracle数据快照技术在数据交换中的应用
- oracle使用闪回技术还原表数据。