+ -
当前位置:首页 → 问答吧 → 【求助】sqlldr直接装载模式问题

【求助】sqlldr直接装载模式问题

时间:2010-08-11

来源:互联网

sqlldr直接装载模式下(direct=true),装载进去数据的表和索引的统计信息都没有更新,导致随后运行的存储过程里面索引没有启用(执行路径里索引没有用),
请问sqlldr在直接装载模式下是否有参数可以让装载完成后进行统计信息收集?

作者: Gdla   发布时间: 2010-08-11

一般来说加载的时候,加载的时候parallel 与direct的参数是一块用的,
Oracle声称此技术有100GB/小时的处理能力,direct 的参数是直接进行加载,
它必须在服务器端进行操作,在客户端操作不行,我曾经作过系统的测试,在客户端加载大概
400多万条的数据,通过普通的加载大概要1个多小时,在服务器端的加载只要3分钟作用,这个
仅供参考.它与普通加载不同的地方是用直接路径加载,sql*loader收集数据,然后把内存中的数据
格式化为数据库表中保存的数据,可以说直接从内存到磁盘的操作,比其常规的加载技术消耗的资源更少,
时间更少.同时加载的时候,表中不能有主键,同时也不能有表中的约束条件,在直接加载的过程中对此不作这类的检查.

没办法,direct=true后,不会更新你想要的这些信息。使用这个参数就是为了提高速度而损失其它的性能。你只能在导入后重新建立或者更新索引了。

作者: renxiao2003   发布时间: 2010-08-11

回复 renxiao2003
非常感谢你的回答

作者: Gdla   发布时间: 2010-08-11