« 恩墨科技第二次性能优化培训时间确定 | Blog首页 | 美东印象 之 尼亚加拉瀑布 - 浩荡之水天上来 »
工作日志:10 亿记录表的几个索引创建时间
作者:eygle | 【转载请注出处】|【云和恩墨 领先的zData数据库一体机 | zCloud PaaS云管平台 | SQM SQL审核平台 | ZDBM 数据库备份一体机】
链接:https://www.eygle.com/archives/2009/10/create_index_billion_record.html
记录一下最近完成的一个大表数据整理,在近10亿记录的表上创建了3个索引,使用NOLOGGING,COMPRESS选项。链接:https://www.eygle.com/archives/2009/10/create_index_billion_record.html
第一个唯一约束:
ALTER TABLE "SMSMG" ADD CONSTRAINT
"UN_ISMG_NEW" UNIQUE ("SEQNO", "SUBMIT_YEAR")
USING INDEX compress PCTFREE 0 NOLOGGING ENABLE ;
大致耗时:3:11:06
单键值索引:
CREATE INDEX "IDX_MDN" ON "SMSMG" ("DEST_MDN" ) COMPRESS PCTFREE 0 NOLOGGING ;
大约耗时:
Index created.
Elapsed: 03:00:05.27
另外一个索引:
CREATE INDEX "IDX_SERVICE_ID" ON "SMSMG" ("SERVICE_ID" ) COMPRESS PCTFREE 0 NOLOGGING ;
大约耗时:
Index created.三个索引所用空间分别为40G,12G,12G.
Elapsed: 04:27:08.23
历史上的今天...
>> 2010-10-26文章:
>> 2007-10-26文章:
>> 2006-10-26文章:
>> 2005-10-26文章:
By eygle on 2009-10-26 08:15 | Comments (9) | Case | FAQ | 2431 |
如此庞大的数据,还没有机会接触过噢!
顺便问下Eygle,我的测试环境是VMware+CentOS+Oracle 10g,数据库处在归档模式下,每组重做日志都配置了两个成员,我想问的问题是,日志切换之后,ARCn产生归档日志的时候(在归档路径下,我只发现产生了一份归档日志),是怎么对待那两个日志成员的,是选择其中一个成员进行归档(产生一份归档)?还是其他途径?
不知道我的问题描述的清楚不?
每组online redo log group中的log file number的内容都是一样的,归档的时候当然就归档一份就够了
如果加上并行选项parallel (degree n),不知道有没有效果。
是啊,我也想知道为什么没用并行,是怕影响其它正常应用吗?
呵呵,谢谢2,3,4楼的热心解答。
我知道,同一重做日志组的各个成员是互为“镜像拷贝”的,也就是说它们的内容,大小都是相同的。我想问的是,日志切换后,ARCn在写归档的时候,Oracle内部是怎么识别的,也就是说ARCn是将哪一个日志成员写到归档路径下,形成一个归档日志文件?假定Group1有member1 和member2,日志切换时,ARCn是将member1内容写到归档日志,还是将member2写到归档日志?为什么?
Asher,“ARCn是将哪一个日志成员写到归档路径下”
其实这个问题没什么神秘的,你只要想一想,如果要你写程序,你怎样写?你最后得出来的结果一般和Oracle的做法也差不多。
有没有记录 iostat io busy 的情况,每秒的读多少,写多少
机器存储大致配置如何 :)
做过8亿的,不知道您为什么没有PARTITION(也许和APP有关).
另,我做的时候,加PARALLEL 会明显加快,但32 和64没有区别,修改过DB的各种PARALLEL_MAX_*参数。
OS HPUX11.31,32P,64C.
nologging 有什么影响啊?刚看了这个帖子,好奇一下
http://www.eygle.com/archives/2004/07/nologging_append.html