TPCH的数据生成与导入小结

qgen使用 
qgen是产生22个查询语句的生成器,运行的同时需要dbgen queries下的22个sql模板和dbgendists.dss字典文件。 
首先按与dbgen相同的方法组建工程qgen,将得到的dbgenDebugqgen.exe,dbgenqueries下的22个sql查询模板和dbgendists.dss字典文件移动到新建的文件夹to_query中。 
然后打开cmd,cd到to_query目录,执行指令如下 
qgen–d 1 > d1.sql 
指令解释:-d代表生成default格式的sql语句,1代表使用dbgenqueries下的第1个模板,> d1.sql代表利用命名管道将控制台的输出重定向到当前目录的d1.sql中。 
最后,生成的sql语句还有一定的问题,需要做一些修改。结尾有set rowcount -1 go语句的将之去掉,将substring函数修改为substr函数,将表别名前面的as关键字去掉,将子查询构成的别名后的列名移动到子查询的select子句。 
按照该格式一共需要生成22个default 的sql文件,然后在sqlplus中set timing on开启计时器,@刚才生成的sql文件,进行测试 
如果是需要强制并行查询,则在sqlplus中设置 
altersession force parallel query 
无论原始表是否开启了并行,设定了什么并行度,查询优化器都采用并行查询。 

sqlldr补充 
首先,sqlldr的加载有2种模式,常规路径和直接路径,前者要将数据转化为INSERT语句,通过SGA区加载,后者将数据在内存中组成数据库的数据块格式,直接写入数据文件,避免了语句解释和记录日志的开销,因此在类似数据仓库的大量数据导入时,一般采用直接路径加载。 
然后,加载方式除INSERT外,还可以取值APPEND、REPLACE和TRUNCATE。要执行INSERT,必须保证表为空,否则sqlldr报错,不能继续执行。如果想向表中增加记录,可以指定加载选项为APPEND;为了替换表中已有的数据,可以使用REPLACE或TRUNCATE。REPLACE使用DELETE语句删除全部记录;因此,如果要加载的表中已经包含许多记录,这个操作执行得很慢。TRUNCATE使用 TRUNCATE SQL命令,执行更快,因为它不必物理地删除每一行。但是TRUNCATE不能回退。要小心地设置这个选项,有时候其他参数也会影响这个选项。 
最后,如果同一个表有多个外部数据文件,那么通过设置Parallel参数=TRUE,采用并行加载,可以提高加载速度,例如: 
sqlldr scott/tiger control=lineitem.ctldirect=true parallel=true 内容来自17jquery 
注意Parallel参数只是表示允许多个sqlldr进程同时加载,而不是对当前语句采用并行方式,也就是说,一个sqlldr命令只能串行加载。 
Windows操作系统不支持&语法的后台进程,但是可以用打开多个cmd窗口,分别执行多个不同的sqlldr语句的方式,也能达到相同的效果。需要指出的是,服务器的I/O能力对加载有巨大的影响,如果读写的I/O带宽已经用满,那么实际上就是sqlldr在等待I/O完成,那么此刻再启动多个sqlldr也不会提高加载性能。 

EXP/IMP使用 
导入(IMP)/导出(EXP)是ORACLE幸存的最古老的两个操作系统命令行工具,Exp/Imp是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理冲突等中有不小的功劳。它作为小型数据库的物理备份后的一个逻辑辅助备份,也是不错的手段。对于越来越大的数据库,特别是TB级数据库和越来越多数据仓库的出现,EXP/IMP越来越力不从心了,这个时候,数据库的备份都转向了RMAN和第三方工具。 
简单的来说,exp和imp可以将oracle中的数据库,表等内容导出成文件,既可以称作备份,又可以做多台计算机间数据库的移植,例如: 
exp scott/tiger@orcl file=d:expfile.dmp tables=(PART) 17jquery.com 
imp scott/tiger@orcl file=d:expfile.dmp tables=(PART)
关键字:tpc-h, oracle TPC-H数据生成与
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值