CREATE TABLESPACE crh2_sdr_mainBLOCKSIZE 8192 DATAFILE 'e:\ORACLE\PRODUCT\10.2.0\ORADATA\dongche\crh2_sdr_main.dbf' SIZE 50001600 AUTOEXTEND ON NEXT 24288000 MAXSIZE 10024M EXTENT MANAGEMENT LOCAL AUTOALLOCATE ONLINE PERMANENT SEGMENT SPACEMANAGEMENT AUTO;
CREATE TABLESPACE crh2_sdr_main_index BLOCKSIZE8192 DATAFILE 'e:\ORACLE\PRODUCT\10.2.0\ORADATA\dongche\crh2_sdr_main_index.dbf'SIZE 5001600 AUTOEXTEND ON NEXT2428800 EXTENTMANAGEMENT LOCAL AUTOALLOCATE ONLINE PERMANENT SEGMENT SPACE MANAGEMENT AUTO;
ALTER TABLEtable_name MOVE TABLESPACE tablespace_name
转移表所在的空间
alter table departments drop primary keycascade; 删除主键约束
alter table departments drop indexcascade_index; 删除索引
Alter table TABLE add constraint pk_idparimary key(id) tablespace newtablespace;
create unique index pk_id on table(id)tablespace table_index; 唯一索引
Create index time_index on table(time) tablespace table_index;
Create Bitmap index t num_index on table(trainnum) tablespacec table_index;
autotrace结果分析结果分析结果分析结果分析
运行时间: 在这个例子中,因为之前设置了set timing on;,所以,就有这条sql语句的运行时间,这里是0.28秒; 接下来,因为设置了set autotrace on;所以sql语句运行后,该语句的执行计划和运行统计信息都打印出来了;
执行计划: 通常看操作,比如,大表是否有全表扫描等;cost这项也是主要要看的,数字越小越好;最后一列时间,应该是预估的运行时间;
统计信息: 统计信息也是主要分析的地方,对于select,主要观察的是consistent gets和physical reads,其中尤其观察的是physical reads,这项越小越好; 由于缓存的存在,同一条sql,几次执行的统计信息会发生变化,尤其反应在physical reads和recrusive calls会变少; 这也是同一条SQL运行几次运行时间不一样的原因之一;
附:autotrace还可以设置只显示执行计划/统计信息/只显示trace信息不显示SQL结果,下面是3种情况对应的命令;
hetaoblog@ORCL>set autotrace on exp;
hetaoblog@ORCL>set autotrace on statistic
hetaoblog@ORCL>set autotrace traceonly;
alter syste flush buffer_cache;