PL/SQL Developer导出分区索引脚本
2008-09-27 10:05:24 来源:WEB开发网(3)分析:
可见,建本地分区索引后再利用PL/SQL Developer工具导出脚本即变为了全局索引,索引类型发生了变化。
2.2 建索引时不加local关键字或加global关键字
(1)建索引语句如下:
create index T_SMS_IDMONTHDAY on T_SMS (MONTHDAY)
[global] tablespace SMS_DAT;
(2)利用PL/SQL Developer工具“View SQL”获取的建索引脚本如下:
createindexT_SMS_IDMONTHDAYonT_SMS(MONTHDAY)
tablespaceSMS_DAT
pctfree10
initrans2
maxtrans255
storage
(
initial64K
minextents1
maxextentsunlimited
);
(3)分析:
可见,建索引时无论不加local关键字还是加global关键字再利用PL/SQL Developer工具导出的脚本都变为了全局索引,同时多了些存储相关的选项。
2.3 分别利用PL/SQL Developer 工具的“Oracle Export”、“SQL Insert”、“PL/SQL Developer”三种方式导出
通过导出后再导入的方式来验证,只有“Oracle Export”方式导出再导入后,表结构和索引结构没有发生变化,另两种方式都改变了索引类型。
3 规避方法介绍
从上述对比试验中可以看出,只有Oracle自带的Export命令导出再导入后的索引结构和原有结构一致,其他方式都无法准确获取到分区索引的脚本。
虽然我们可以通过把Export导出条件设置为不存在结果集来导出空表,再利用导出的dump文件导入到其他库来新建表和索引。但这种方式无法直观的看到建表的SQL脚本,可扩展性差。
本地索引:
CREATE INDEX T_SMS_IDMONTHDAY ON T_SMS
(MONTHDAY)
TABLESPACE SMS_DAT
INITRANS 2
MAXTRANS 255
LOCAL (
PARTITION P01
LOGGING
NOCOMPRESS
TABLESPACE SMS_DAT
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
BUFFER_POOL DEFAULT
),
PARTITION P02
LOGGING
NOCOMPRESS
TABLESPACE SMS_DAT
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
BUFFER_POOL DEFAULT
)
……(此处省略部分代码)
)
NOPARALLEL;
全局索引:
CREATE INDEX T_SMS_IDMONTHDAY ON T_SMS
(MONTHDAY)
LOGGING
TABLESPACE SMS_DAT
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
NOPARALLEL;
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接