楼主: earth2mars

有没比SQL*LOADER更快的文本数据导入方法?

[复制链接]
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
31#
发表于 2012-12-7 23:59 | 只看该作者
yulihua49 发表于 2012-12-7 20:25
这个我看过。可是,跟加载问题有什么关系?
里边有个:
text *sqlstmt = (text *)"INSERT INTO yourc ...

批量绑定和直接路径加载是两码事。前者是指客户和服务器之间的数据传递方式,后者是只不用常规路径插入(常规路径是在内存中完成插入,有REDO), 直接写入数据文件。

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
32#
发表于 2012-12-8 07:13 | 只看该作者
yulihua49 发表于 2012-12-7 20:25
这个我看过。可是,跟加载问题有什么关系?
里边有个:
text *sqlstmt = (text *)"INSERT INTO yourc ...

http://www.itpub.net/thread-1271979-5-1.html 145楼
[itpub.net]awr.rar (43.1 KB, 下载次数: 4)
看附件中c.c有1行
if(fn=='c')//根据文件名判断,c常规路径,d直接路径

使用道具 举报

回复
论坛徽章:
14
2009新春纪念徽章
日期:2009-01-04 14:52:28沸羊羊
日期:2015-03-04 14:51:52优秀写手
日期:2014-03-14 06:00:13马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:022013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15蜘蛛蛋
日期:2012-06-27 21:08:142012新春纪念徽章
日期:2012-01-04 11:53:29ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26
33#
发表于 2012-12-8 20:05 | 只看该作者
本帖最后由 yulihua49 于 2012-12-8 20:20 编辑
〇〇 发表于 2012-12-8 07:13
http://www.itpub.net/thread-1271979-5-1.html 145楼

看附件中c.c有1行


看到了。又有新技术要学了,多谢。
直接路径会比常规路径高效不少吧?
这个技术有些什么约束和限制呢?
那么,sqlldr是否可以支持直接路径呢?如何设置?

使用道具 举报

回复
论坛徽章:
14
2009新春纪念徽章
日期:2009-01-04 14:52:28沸羊羊
日期:2015-03-04 14:51:52优秀写手
日期:2014-03-14 06:00:13马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:022013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15蜘蛛蛋
日期:2012-06-27 21:08:142012新春纪念徽章
日期:2012-01-04 11:53:29ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26
34#
发表于 2012-12-8 20:17 | 只看该作者
earth2mars 发表于 2012-12-7 21:38
yulihua老师是我佩服的人!
其实我想学的是方法,而不是别人做好的工具自己拿来用用,希望有一天自己也 ...

我也有很多东西要学,一起探讨吧。

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
35#
发表于 2012-12-8 20:29 | 只看该作者
yulihua49 发表于 2012-12-8 20:05
看到了。又有新技术要学了,多谢。
直接路径会比常规路径高效不少吧?
这个技术有些什么约束和限制呢 ...

直接路径加载在高水位标志上填充数据,必须提交后才能select
sqlldr direct=true

使用道具 举报

回复
论坛徽章:
2
2013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2014-04-05 06:00:00
36#
 楼主| 发表于 2012-12-8 20:55 | 只看该作者
yulihua49 发表于 2012-12-8 20:05
看到了。又有新技术要学了,多谢。
直接路径会比常规路径高效不少吧?
这个技术有些什么约束和限制呢 ...

直接路径不能两个session同时insert,会阻塞的
直接路径会引起高水位的问题

SQLLDR的直接路径比常规路径快很多。

使用道具 举报

回复
论坛徽章:
14
2009新春纪念徽章
日期:2009-01-04 14:52:28沸羊羊
日期:2015-03-04 14:51:52优秀写手
日期:2014-03-14 06:00:13马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:022013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15蜘蛛蛋
日期:2012-06-27 21:08:142012新春纪念徽章
日期:2012-01-04 11:53:29ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26
37#
发表于 2012-12-10 20:59 | 只看该作者
earth2mars 发表于 2012-12-8 20:55
直接路径不能两个session同时insert,会阻塞的
直接路径会引起高水位的问题

这有点郁闷,我是靠多会话提供性能的。
不过有空我还是想试试。

使用道具 举报

回复
论坛徽章:
2
2013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2014-04-05 06:00:00
38#
 楼主| 发表于 2012-12-10 21:11 | 只看该作者
yulihua49 发表于 2012-12-10 20:59
这有点郁闷,我是靠多会话提供性能的。
不过有空我还是想试试。

直接路径可是比常规路径快好几倍的
另外多会话,如果是单硬盘,只会更慢,因为只有一个磁头
当然SSD可能例外,不过一般生产环境硬件都比较好

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
39#
发表于 2012-12-10 21:25 | 只看该作者
yulihua49 发表于 2012-12-10 20:59
这有点郁闷,我是靠多会话提供性能的。
不过有空我还是想试试。

sqlldr有parallel选项,支持多个文件导入

使用道具 举报

回复
论坛徽章:
14
2009新春纪念徽章
日期:2009-01-04 14:52:28沸羊羊
日期:2015-03-04 14:51:52优秀写手
日期:2014-03-14 06:00:13马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:022013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15蜘蛛蛋
日期:2012-06-27 21:08:142012新春纪念徽章
日期:2012-01-04 11:53:29ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26
40#
发表于 2012-12-15 13:36 | 只看该作者
本帖最后由 yulihua49 于 2013-10-29 10:19 编辑
〇〇 发表于 2012-12-10 21:25
sqlldr有parallel选项,支持多个文件导入

这两天抽空试了试。新的RAC系统老是在调试,状态比较乱,数据没有典型性,下周还要继续试。
sqlldr,加载我这个数据,3992639条记录。
常规的,16分34.8秒,直接路径7分42秒。
我的多线程计算加载2分20秒。RAC环境似乎多线程好一些。单机环境直接路径好一些。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表