Chinaunix

标题: 给一个大表做索引 [打印本页]

作者: mrsg    时间: 2007-12-05 16:26
标题: 给一个大表做索引
需要给一个大表做索引 大概2千万条数据
我建立一个a.sql文件
create  index test on cus(TIMEr);

然后在sqlplus登录
SQL> @a.sql

但问题是我是telnet登录上的 做索引的速度很慢 我不知是否能断开连接
难道要一直等在这里啊。。。
哪位能帮帮忙 谢谢
作者: mrsg    时间: 2007-12-05 16:53
现在我是写个脚本 用脚本登录sqlplus 然后调用a.sql 让脚本后台执行
请问还有更好的方法吗?
作者: doni    时间: 2007-12-05 16:55
后台执行,也不能断开连接,除非用nohup
作者: mrsg    时间: 2007-12-05 17:05
我就是用的nohup a.sh &
a.sh里面调用a.sql

我先那个表测试了一下可行 才用的

我就是想问问有没有别的好方法
作者: mrsg    时间: 2007-12-05 17:10
另外 请问版主 这个表现在依然还有频繁的insert操作
同时建立索引 影响大吗
作者: ivhb    时间: 2007-12-05 17:42
指定 nologing,会提高速度
作者: 秋风No.1    时间: 2007-12-05 17:53
影响非常大,最好在业务比较少的时候

或者加上online参数
作者: lemboyz    时间: 2007-12-05 22:03
请教6L,怎么用nologing参数?
作者: bigmoyo    时间: 2007-12-06 13:17
标题: ——主要还是要注意在业务少时做
——create index idx_name on tab_name(fld_name) nologging tablespace idx;

——如果 idx 表空间的数据文件在另一不忙碌的硬盘上或不同控制器上的硬盘上则更佳,最好要有单独的索引表空间。

——但最主要的还是应在业务少的时候做这个事。
作者: ivhb    时间: 2007-12-06 13:29
标题: 回复 #8 lemboyz 的帖子
语法层面的东西,
都可以从oracle 10g sql reference 这本官方手册来得到。
手头备一本还是 必要的。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2