oracle下面
我有一个表A很大里面一个分区大概有1000W的数据,这个表里面已经有索引,但现在业务需求要再添加一个索引,这个表实时有数据的读写,这种情况下如何添加索引?
alter system set parallel_max_servers=40;
ALTER SESSION FORCE PARALLEL DDL;
CREATE INDEX 索引名 ON A(DATE) TABLESPACE TS_TAB_INTER
PARALLEL 40 NOLOGGING;
ALTER INDEX 索引名 NOPARALLEL;
alter system set parallel_max_servers=0;
这种方法很慢很慢,那位大侠知道比较好的处理方法么?跪求!
我有一个表A很大里面一个分区大概有1000W的数据,这个表里面已经有索引,但现在业务需求要再添加一个索引,这个表实时有数据的读写,这种情况下如何添加索引?
alter system set parallel_max_servers=40;
ALTER SESSION FORCE PARALLEL DDL;
CREATE INDEX 索引名 ON A(DATE) TABLESPACE TS_TAB_INTER
PARALLEL 40 NOLOGGING;
ALTER INDEX 索引名 NOPARALLEL;
alter system set parallel_max_servers=0;
这种方法很慢很慢,那位大侠知道比较好的处理方法么?跪求!
主要是不能阻塞应用,所以一定要加online.这个才是最关键的,首要考虑因数。还有这个parallel_max_servers的值是有一个关系式计算出来的。你的是否合理?服务器有几个CPU?
CREATE INDEX 索引名 PARALLEL 40
根据你的parallel_max_servers,你这里的PARALLEL 40明显错了加大pga,然后create index index_name on tablename(column) online nologging parallel n compute statistics;