楼主: yulihua49

[PRO*C] 看我做的数据库包装器

[复制链接]
论坛徽章:
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
561#
 楼主| 发表于 2013-4-23 21:34 | 只看该作者
gszoracle 发表于 2013-4-23 21:32
数据导入毕竟要通过客户端,这工作用存储过程不一定合适,存储过程合适实现和数据库相关的业务逻辑

这个说法我同意。

使用道具 举报

回复
论坛徽章:
15
ITPUB9周年纪念徽章
日期:2010-10-08 09:32:27马上有房
日期:2014-04-04 19:42:43马上有对象
日期:2014-02-18 16:44:082014年新春福章
日期:2014-02-18 16:44:08本田
日期:2014-01-16 21:44:06大众
日期:2013-12-14 09:29:562013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:14:48奥运会纪念徽章:射箭
日期:2012-07-26 13:53:55奥运会纪念徽章:跆拳道
日期:2012-07-13 13:54:19
562#
发表于 2013-4-23 21:39 | 只看该作者
yulihua49 发表于 2013-4-23 21:29
我还要计算呢,不单单是入库。
我们有50多个表要入库,就这一个表需要计算,其它都是sqlldr直接入库, ...

其实我们也是用C把数据先格式化好,包括计算,最后用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
563#
 楼主| 发表于 2013-4-23 21:47 | 只看该作者
本帖最后由 yulihua49 于 2013-4-23 22:01 编辑
gszoracle 发表于 2013-4-23 21:39
其实我们也是用C把数据先格式化好,包括计算,最后用SQLLdr入库,但库中的应用,一般是数据不离开库,也算 ...


如果交给sqlldr肯定比我慢得多。而且我们要求数据不重不漏,环节多了难保证。
言归正传,DAU就是这么个使用方便,效率高的东东。
有人质疑DAU的性能,所以罗嗦一阵子。
方便,你们是与SQL无缝连接,我是完全屏蔽之,思路不同而已,各有用处。
这个复杂的系统,几乎见不到sql的。




使用道具 举报

回复
论坛徽章:
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
564#
发表于 2013-4-23 22:01 | 只看该作者
说了多少次了,用外部表+SQL+存储过程入库,比什么都好。TOM都说了sqlldr已经死亡。
就这么个入库的东西让你得意了这么久,外部表一出你只好靠边,连加载工具都不要了,直接SQL访问!
你这个包装器,只适合用于自己定制一些特殊需求的工具。如果试图用它来做业务逻辑,就会培养出一大批只懂得SELECT *的程序员,用一大堆代码去实现本来一个SQL能够搞定的事。
再说那个你沾沾自喜的车票清分系统,那本来就是个伪需求,提这种需求的人是揣着明白装糊涂,目的是为了忽悠经费。你做了半天也就是一个不可验证的东西,对不对自己说了算。像我这种明白人,一个INSERT SELECT搞定。

使用道具 举报

回复
论坛徽章:
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
565#
 楼主| 发表于 2013-4-23 22:05 | 只看该作者
本帖最后由 yulihua49 于 2013-4-23 22:18 编辑
newkid 发表于 2013-4-23 22:01
说了多少次了,用外部表+SQL+存储过程入库,比什么都好。TOM都说了sqlldr已经死亡。
就这么个入库的东西让 ...


存储过程入库?1000个记录一批,每个记录146个列,怎么传进去啊?
不管我这个是不是伪命题,其它的,如果有类似的复杂计算,你怎么能insert 。。select。。。。。?
我在另一个帖子跟你说过,无论加载还是卸载,无论是简单逻辑还是复杂逻辑,OCI都是要比存储过程快的。
即使使用存储过程,也需要由OCI,调动一堆存储过程来干活。


使用道具 举报

回复
论坛徽章:
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
566#
发表于 2013-4-23 22:10 | 只看该作者
yulihua49 发表于 2013-4-23 22:05
存储过程入库?1000个记录一批,每个记录146个列,怎么传进去啊?

数据已经保存了文件是吧?存储过程只需要INSERT INTO ... SELECT ... FROM 外部表就行了。不是让你一条一条传进去。你只需要事先定义外部表,并且把数据文件放到数据库服务器上。

使用道具 举报

回复
论坛徽章:
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
567#
 楼主| 发表于 2013-4-23 22:11 | 只看该作者
本帖最后由 yulihua49 于 2013-4-23 22:15 编辑
newkid 发表于 2013-4-23 22:10
数据已经保存了文件是吧?存储过程只需要INSERT INTO ... SELECT ... FROM 外部表就行了。不是让你一条一 ...


早就试过了,慢得要死。
这要是能行,早就用不着我了,这的高手也多着呢。
我来之前,之后都有人试过,不行。

使用道具 举报

回复
论坛徽章:
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
568#
发表于 2013-4-23 22:24 | 只看该作者
看看慢在哪个环节,1000行数据怎么可能慢?

使用道具 举报

回复
论坛徽章:
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
569#
发表于 2013-4-24 06:52 | 只看该作者
newkid 发表于 2013-4-23 22:01
说了多少次了,用外部表+SQL+存储过程入库,比什么都好。TOM都说了sqlldr已经死亡。
就这么个入库的东西让 ...

sqlldr 不是已经死亡,而是换了个形式,外部表的引擎

使用道具 举报

回复
论坛徽章:
15
ITPUB9周年纪念徽章
日期:2010-10-08 09:32:27马上有房
日期:2014-04-04 19:42:43马上有对象
日期:2014-02-18 16:44:082014年新春福章
日期:2014-02-18 16:44:08本田
日期:2014-01-16 21:44:06大众
日期:2013-12-14 09:29:562013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:14:48奥运会纪念徽章:射箭
日期:2012-07-26 13:53:55奥运会纪念徽章:跆拳道
日期:2012-07-13 13:54:19
570#
发表于 2013-4-24 07:01 | 只看该作者
〇〇 发表于 2013-4-24 06:52
sqlldr 不是已经死亡,而是换了个形式,外部表的引擎

一个客户端的,一个服务端的。

使用道具 举报

回复

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

本版积分规则 发表回复

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