楼主: yulihua49

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

[复制链接]
论坛徽章:
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
311#
发表于 2009-4-16 03:48 | 只看该作者
我在自己的几个库上试了一下,COMMIT时间在0.1ms上下,看来你是得优化一下。换个不同环境的数据库试验一下。前面说过了,问题出在ONLINE REDO LOG。我们以前曾经出过类似问题,后来请了个高手DBA发现是SAN没有配置好。

使用道具 举报

回复
论坛徽章:
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
312#
 楼主| 发表于 2009-4-16 15:28 | 只看该作者
原帖由 newkid 于 2009-4-16 03:48 发表
我在自己的几个库上试了一下,COMMIT时间在0.1ms上下,看来你是得优化一下。换个不同环境的数据库试验一下。前面说过了,问题出在ONLINE REDO LOG。我们以前曾经出过类似问题,后来请了个高手DBA发现是SAN没有配置好。

修改多少记录?在没有修改的情况,我也是0.1ms左右。
我现在手里没有ORACLE精通的,得找人看一下redo log。

使用道具 举报

回复
论坛徽章:
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
313#
发表于 2009-4-16 22:22 | 只看该作者
跟事务大小没有关系。我UPDATE了几万行,COMMIT还是很快。

CREATE TABLE TEST AS SELECT * FROM ALL_OBJECTS;

SELECT COUNT(*) FROM TEST;

  COUNT(*)
----------
     39722

DECLARE
  lv_start TIMESTAMP := SYSTIMESTAMP;
BEGIN
  UPDATE TEST SET SUBOBJECT_NAME = OBJECT_NAME;
  DBMS_OUTPUT.PUT_LINE('t1:'||EXTRACT(SECOND FROM SYSTIMESTAMP - lv_start));
  lv_start := SYSTIMESTAMP;
  COMMIT;
  DBMS_OUTPUT.PUT_LINE('t2:'||EXTRACT(SECOND FROM SYSTIMESTAMP - lv_start));
END;
/

t1:2.878444
t2:0.001348

以前我们遇到这问题的时候,哪怕什么都不做,单单一个COMMIT也要几百毫秒。你怎么老碰到这种诡异现象?前面有个靠UPDATE提速的偏方,现在又来了个COMMIT问题。

使用道具 举报

回复
论坛徽章:
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
314#
发表于 2009-4-16 22:43 | 只看该作者
我上面的方法不太准确,在PLSQL里面捕捉到的COMMIT时间是假的,返回客户端时才会真正产生这个“log file sync”的等待。
你可以在一个调优好的库上用不同大小的事务测试,几十毫秒也可能就是正常数值。

使用道具 举报

回复
论坛徽章:
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
315#
 楼主| 发表于 2009-4-20 09:44 | 只看该作者
原帖由 newkid 于 2009-4-16 22:43 发表
我上面的方法不太准确,在PLSQL里面捕捉到的COMMIT时间是假的,返回客户端时才会真正产生这个“log file sync”的等待。
你可以在一个调优好的库上用不同大小的事务测试,几十毫秒也可能就是正常数值。

你前边的那个xwfb程序,我实在没看懂,无法分析问题出在哪。
给一个日志,我的5156都发布的哪些。车站代码改了,仅供参考。
我们这种离散的逻辑,问题出在哪一步,很容易查找。你那种揉在一起的逻辑就比较困难。

2 xwfb:22733 04/14 02:00'24 Train=2009-04-24;H1,carno=0,beg_station=YZHP,end_station=5,remant=30
2 xwfb:22733 04/14 02:00'24 Train=2009-04-24;H1,carno=0,beg_station=YLHP,end_station=5,remant=30
2 xwfb:22733 04/14 02:00'24 mkxw Train=2009-04-24:H1,beg_station=BNHP,end_station=5,carno=1,remant=120
2 xwfb:22733 04/14 02:00'24 mkxw Train=2009-04-24:H1,beg_station=BNHP,end_station=5,carno=2,remant=120
2 xwfb:22733 04/14 02:00'24 mkxw Train=2009-04-24:H1,beg_station=BNHP,end_station=1,carno=3,remant=120
2 xwfb:22733 04/14 02:00'24 mkxw Train=2009-04-24:H1,beg_station=YZHP,end_station=5,carno=3,remant=120
2 xwfb:22733 04/14 02:00'24 mkxw Train=2009-04-24:H1,beg_station=BNHP,end_station=2,carno=4,remant=120
2 xwfb:22733 04/14 02:00'25 mkxw Train=2009-04-24:H1,beg_station=YLHP,end_station=5,carno=4,remant=120
2 xwfb:22733 04/14 02:00'25 mkxw Train=2009-04-24:H1,beg_station=BNHP,end_station=5,carno=5,remant=50
2 xwfb:22733 04/14 02:00'25 mkxw Train=2009-04-24:H1,beg_station=BNHP,end_station=1,carno=5,remant=20
2 xwfb:22733 04/14 02:00'25 mkxw Train=2009-04-24:H1,beg_station=YZHP,end_station=5,carno=5,remant=20
2 xwfb:22733 04/14 02:00'25 mkxw Train=2009-04-24:H1,beg_station=BNHP,end_station=2,carno=5,remant=30
2 xwfb:22733 04/14 02:00'25 mkxw Train=2009-04-24:H1,beg_station=YLHP,end_station=5,carno=5,remant=30
2 xwfb:22733 04/14 02:00'25 Train=2009-04-24;H2,carno=0,beg_station=YLHP,end_station=5,remant=30
2 xwfb:22733 04/14 02:00'25 Train=2009-04-24;H2,carno=0,beg_station=YZHP,end_station=5,remant=30
2 xwfb:22733 04/14 02:00'25 mkxw Train=2009-04-24:H2,beg_station=TJHP,end_station=5,carno=1,remant=120
2 xwfb:22733 04/14 02:00'26 mkxw Train=2009-04-24:H2,beg_station=TJHP,end_station=5,carno=2,remant=120
2 xwfb:22733 04/14 02:00'26 mkxw Train=2009-04-24:H2,beg_station=TJHP,end_station=1,carno=3,remant=120
2 xwfb:22733 04/14 02:00'26 mkxw Train=2009-04-24:H2,beg_station=WQHP,end_station=5,carno=3,remant=120
2 xwfb:22733 04/14 02:00'26 mkxw Train=2009-04-24:H2,beg_station=TJHP,end_station=2,carno=4,remant=120
2 xwfb:22733 04/14 02:00'26 mkxw Train=2009-04-24:H2,beg_station=YLHP,end_station=5,carno=4,remant=120
2 xwfb:22733 04/14 02:00'26 mkxw Train=2009-04-24:H2,beg_station=TJHP,end_station=5,carno=5,remant=50
2 xwfb:22733 04/14 02:00'26 mkxw Train=2009-04-24:H2,beg_station=TJHP,end_station=1,carno=5,remant=20
2 xwfb:22733 04/14 02:00'26 mkxw Train=2009-04-24:H2,beg_station=WQHP,end_station=5,carno=5,remant=20
2 xwfb:22733 04/14 02:00'26 mkxw Train=2009-04-24:H2,beg_station=TJHP,end_station=2,carno=5,remant=30
2 xwfb:22733 04/14 02:00'26 mkxw Train=2009-04-24:H2,beg_station=YLHP,end_station=5,carno=5,remant=30
2 xwfb:22733 04/14 02:00'26 Train=2009-05-14;H5,carno=0,beg_station=TJHP,end_station=5,remant=40
2 xwfb:22733 04/14 02:00'27 Train=2009-05-14;H5,carno=0,beg_station=TSHP,end_station=5,remant=40
2 xwfb:22733 04/14 02:00'27 mkxw Train=2009-05-14:H4,beg_station=SJHP,end_station=5,carno=1,remant=120
2 xwfb:22733 04/14 02:00'27 mkxw Train=2009-05-14:H4,beg_station=SJHP,end_station=2,carno=2,remant=120
2 xwfb:22733 04/14 02:00'27 mkxw Train=2009-05-14:H5,beg_station=BNHP,end_station=5,carno=2,remant=120
2 xwfb:22733 04/14 02:00'27 mkxw Train=2009-05-14:H4,beg_station=SJHP,end_station=3,carno=3,remant=120
2 xwfb:22733 04/14 02:00'27 mkxw Train=2009-05-14:H5,beg_station=TJHP,end_station=5,carno=3,remant=120
2 xwfb:22733 04/14 02:00'27 mkxw Train=2009-05-14:H4,beg_station=SJHP,end_station=1,carno=4,remant=120
2 xwfb:22733 04/14 02:00'27 mkxw Train=2009-05-14:H4,beg_station=BDHP,end_station=5,carno=4,remant=120
2 xwfb:22733 04/14 02:00'27 mkxw Train=2009-05-14:H4,beg_station=SJHP,end_station=5,carno=5,remant=60
2 xwfb:22733 04/14 02:00'27 mkxw Train=2009-05-14:H4,beg_station=SJHP,end_station=1,carno=5,remant=6
2 xwfb:22733 04/14 02:00'28 mkxw Train=2009-05-14:H4,beg_station=BDHP,end_station=5,carno=5,remant=6
2 xwfb:22733 04/14 02:00'28 mkxw Train=2009-05-14:H4,beg_station=SJHP,end_station=5,carno=6,remant=20
2 xwfb:22733 04/14 02:00'28 mkxw Train=2009-05-14:H4,beg_station=SJHP,end_station=1,carno=6,remant=10
2 xwfb:22733 04/14 02:00'28 mkxw Train=2009-05-14:H4,beg_station=BDHP,end_station=5,carno=6,remant=10
2 xwfb:22733 04/14 02:00'28 mkxw Train=2009-05-14:H4,beg_station=SJHP,end_station=2,carno=6,remant=30
2 xwfb:22733 04/14 02:00'28 mkxw Train=2009-05-14:H5,beg_station=BNHP,end_station=5,carno=6,remant=30
2 xwfb:22733 04/14 02:00'28 mkxw Train=2009-05-14:H4,beg_station=SJHP,end_station=3,carno=6,remant=20
2 xwfb:22733 04/14 02:00'28 mkxw Train=2009-05-14:H5,beg_station=TJHP,end_station=5,carno=6,remant=20
2 xwfb:22733 04/14 02:00'28 mkxw Train=2009-05-14:H4,beg_station=SJHP,end_station=5,carno=6,remant=20
5 xwfb:22733 04/14 02:00'28 adj_remant old=2009-05-14|SJP|H4|6|13|0|5|20|AAALqzAAFAAAKP3AAm|,amoung=20
2 xwfb:22733 04/14 02:00'28 Train=2009-05-14;H3,carno=0,beg_station=BDHP,end_station=5,remant=40
2 xwfb:22733 04/14 02:00'28 mkxw Train=2009-05-14:H6,beg_station=BHHP,end_station=5,carno=1,remant=120
2 xwfb:22733 04/14 02:00'28 mkxw Train=2009-05-14:H6,beg_station=BHHP,end_station=1,carno=2,remant=120
2 xwfb:22733 04/14 02:00'28 mkxw Train=2009-05-14:H6,beg_station=TSHP,end_station=5,carno=2,remant=120
2 xwfb:22733 04/14 02:00'28 mkxw Train=2009-05-14:H6,beg_station=BHHP,end_station=2,carno=3,remant=120
2 xwfb:22733 04/14 02:00'28 mkxw Train=2009-05-14:H6,beg_station=TJHP,end_station=5,carno=3,remant=120
2 xwfb:22733 04/14 02:00'29 mkxw Train=2009-05-14:H6,beg_station=BHHP,end_station=5,carno=4,remant=120
2 xwfb:22733 04/14 02:00'29 mkxw Train=2009-05-14:H6,beg_station=BHHP,end_station=5,carno=5,remant=60
2 xwfb:22733 04/14 02:00'29 mkxw Train=2009-05-14:H6,beg_station=BHHP,end_station=2,carno=5,remant=6
2 xwfb:22733 04/14 02:00'29 mkxw Train=2009-05-14:H6,beg_station=TJHP,end_station=5,carno=5,remant=6
2 xwfb:22733 04/14 02:00'29 mkxw Train=2009-05-14:H6,beg_station=BHHP,end_station=5,carno=6,remant=50
2 xwfb:22733 04/14 02:00'29 mkxw Train=2009-05-14:H6,beg_station=BHHP,end_station=1,carno=6,remant=10
2 xwfb:22733 04/14 02:00'29 mkxw Train=2009-05-14:H6,beg_station=TSHP,end_station=5,carno=6,remant=10
2 xwfb:22733 04/14 02:00'29 mkxw Train=2009-05-14:H6,beg_station=BHHP,end_station=2,carno=6,remant=20
2 xwfb:22733 04/14 02:00'29 mkxw Train=2009-05-14:H6,beg_station=TJHP,end_station=5,carno=6,remant=20
2 xwfb:22733 04/14 02:00'29 mkxw Train=2009-05-14:H6,beg_station=BEP,end_station=3,carno=6,remant=20
2 xwfb:22733 04/14 02:00'29 mkxw Train=2009-05-14:H3,beg_station=BNHP,end_station=5,carno=6,remant=20
2 xwfb:22733 04/14 02:00'29 Train=2009-05-15;H3,carno=0,beg_station=BDHP,end_station=6,remant=40
2 xwfb:22733 04/14 02:00'29 mkxw Train=2009-05-14:H6,beg_station=QHHP,end_station=6,carno=1,remant=120
2 xwfb:22733 04/14 02:00'29 mkxw Train=2009-05-14:H6,beg_station=QHHP,end_station=2,carno=2,remant=120
2 xwfb:22733 04/14 02:00'29 mkxw Train=2009-05-15:H6,beg_station=TSHP,end_station=6,carno=2,remant=120
2 xwfb:22733 04/14 02:00'29 mkxw Train=2009-05-14:H6,beg_station=QHHP,end_station=3,carno=3,remant=120
2 xwfb:22733 04/14 02:00'30 mkxw Train=2009-05-15:H6,beg_station=TJHP,end_station=6,carno=3,remant=120
2 xwfb:22733 04/14 02:00'30 mkxw Train=2009-05-14:H6,beg_station=QHHP,end_station=1,carno=4,remant=120
2 xwfb:22733 04/14 02:00'30 mkxw Train=2009-05-15:H6,beg_station=BHHP,end_station=6,carno=4,remant=120
2 xwfb:22733 04/14 02:00'30 mkxw Train=2009-05-14:H6,beg_station=QHHP,end_station=6,carno=5,remant=30
2 xwfb:22733 04/14 02:00'30 mkxw Train=2009-05-14:H6,beg_station=QHHP,end_station=1,carno=5,remant=30
2 xwfb:22733 04/14 02:00'30 mkxw Train=2009-05-15:H6,beg_station=BHHP,end_station=6,carno=5,remant=30
2 xwfb:22733 04/14 02:00'30 mkxw Train=2009-05-14:H6,beg_station=QHHP,end_station=3,carno=5,remant=6
2 xwfb:22733 04/14 02:00'30 mkxw Train=2009-05-15:H6,beg_station=TJHP,end_station=6,carno=5,remant=6
2 xwfb:22733 04/14 02:00'30 mkxw Train=2009-05-14:H6,beg_station=QHHP,end_station=6,carno=6,remant=20
2 xwfb:22733 04/14 02:00'30 mkxw Train=2009-05-14:H6,beg_station=QHHP,end_station=1,carno=6,remant=30
2 xwfb:22733 04/14 02:00'30 mkxw Train=2009-05-15:H6,beg_station=BHHP,end_station=6,carno=6,remant=30
2 xwfb:22733 04/14 02:00'30 mkxw Train=2009-05-14:H6,beg_station=QHHP,end_station=2,carno=6,remant=10
2 xwfb:22733 04/14 02:00'30 mkxw Train=2009-05-15:H6,beg_station=TSHP,end_station=6,carno=6,remant=10
2 xwfb:22733 04/14 02:00'30 mkxw Train=2009-05-14:H6,beg_station=QHHP,end_station=3,carno=6,remant=20
2 xwfb:22733 04/14 02:00'30 mkxw Train=2009-05-15:H6,beg_station=TJHP,end_station=6,carno=6,remant=20
2 xwfb:22733 04/14 02:00'30 mkxw Train=2009-05-14:H6,beg_station=QHHP,end_station=4,carno=6,remant=20
2 xwfb:22733 04/14 02:00'30 mkxw Train=2009-05-15:H3,beg_station=BNHP,end_station=6,carno=6,remant=20
2 xwfb:22733 04/14 02:00'40 totalnum=5156

[ 本帖最后由 yulihua49 于 2009-4-21 09:42 编辑 ]

使用道具 举报

回复
论坛徽章:
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
316#
发表于 2009-4-20 22:55 | 只看该作者
你改了车站代码,结果肯定受影响,这个日志对我还有什么用?再说你的日志只有总条数,我就是发现了哪个类别的票数不符也不知道哪里少了。

把你的几个参数表的新数据给出来;生成的seat数据导出后,压缩成RAR再上传。我只要比较一下,花几分钟就可以知道哪里有问题。

你的程序就是典型的按记录处理的思维方式,还美其名曰“离散的逻辑”。你为了实现表连接,不得不逐行从参数表取数据,再把这行数据作为查询条件查另外的表,就像CBO的NESTED LOOPS路径,当中夹杂大量的过程性代码(循环,判断,等等),这就增加了出错几率,也降低了代码可读性。你因为自己习惯了看起来觉得顺眼,会写SQL的人是肯定不这么认为的。用SQL的表连接你只需写连接条件、过滤条件,至于用嵌套循环还是HASH JOIN那完全不用操心,数据库给你的就是连接后的结果。你只需要一个SQLPLUS或者TOAD, 执行一下SQL马上就能看到结果集,复杂一点的SQL其实可以理解为多个步骤的查询,你可以把里面的子查询单独拷出来执行并查看结果,随时调整连接条件和过滤条件马上又能看到新的结果,这比你写那堆代码不知道方便多少。

使用道具 举报

回复
论坛徽章:
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
317#
 楼主| 发表于 2009-4-21 09:26 | 只看该作者
原帖由 newkid 于 2009-4-16 22:22 发表
跟事务大小没有关系。我UPDATE了几万行,COMMIT还是很快。

CREATE TABLE TEST AS SELECT * FROM ALL_OBJECTS;

SELECT COUNT(*) FROM TEST;

  COUNT(*)
----------
     39722

DECLARE
  lv_start TIMESTAMP := SYSTIMESTAMP;
BEGIN
  UPDATE TEST SET SUBOBJECT_NAME = OBJECT_NAME;
  DBMS_OUTPUT.PUT_LINE('t1:'||EXTRACT(SECOND FROM SYSTIMESTAMP - lv_start));
  lv_start := SYSTIMESTAMP;
  COMMIT;
  DBMS_OUTPUT.PUT_LINE('t2:'||EXTRACT(SECOND FROM SYSTIMESTAMP - lv_start));
END;
/

t1:2.878444
t2:0.001348

以前我们遇到这问题的时候,哪怕什么都不做,单单一个COMMIT也要几百毫秒。你怎么老碰到这种诡异现象?前面有个靠UPDATE提速的偏方,现在又来了个COMMIT问题。

新学了一个timeval,可以测到微秒,测得DAU_insert的时间:
简单试了一下,insert发生重码时代insert时间,微秒:(没有进行dummy_update)
5 loadsth:13104 04/21 09:12'52 loadfile:1 insert TIMEVAL=2911
5 loadsth:13104 04/21 09:12'52 loadfile:2 insert TIMEVAL=34438
5 loadsth:13104 04/21 09:12'52 loadfile:3 insert TIMEVAL=33201
5 loadsth:13104 04/21 09:12'53 loadfile:4 insert TIMEVAL=33267
5 loadsth:13104 04/21 09:12'53 loadfile:5 insert TIMEVAL=33356

第一条记录确实时间不算多,因为还要形成语句和解释语句,以后时间就多了,看来受之前状态影响。

下边是进行dummy_update的结果:
loadsth:13319 04/21 09:25'56 loadfile:1 insert TIMEVAL=2692
5 loadsth:13319 04/21 09:25'56 bind_update:bind=4,sth=1,stmt=UPDATE TICKET.tjrb SET tjdate=tjdate WHERE tjdate=to_date(:1,'YYYY-MM-DD') AND unit=:2 AND tabname=:3 AND flg=:4,
5 loadsth:13319 04/21 09:25'56 loadfile:2 insert TIMEVAL=913
5 loadsth:13319 04/21 09:25'56 loadfile:3 insert TIMEVAL=586
5 loadsth:13319 04/21 09:25'56 loadfile:4 insert TIMEVAL=553
5 loadsth:13319 04/21 09:25'56 loadfile:5 insert TIMEVAL=550

下边是清空表,能够正常insert的结果:
loadsth:13333 04/21 09:29'33 loadfile:1 insert TIMEVAL=3921
5 loadsth:13333 04/21 09:29'33 loadfile:2 insert TIMEVAL=223
5 loadsth:13333 04/21 09:29'33 loadfile:3 insert TIMEVAL=145
5 loadsth:13333 04/21 09:29'33 loadfile:4 insert TIMEVAL=152
5 loadsth:13333 04/21 09:29'33 loadfile:5 insert TIMEVAL=138

以前进行过测试,上述时间绝大多是OCI_Execute占用的。

[ 本帖最后由 yulihua49 于 2009-4-21 09:35 编辑 ]

使用道具 举报

回复
论坛徽章:
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
318#
 楼主| 发表于 2009-4-21 09:48 | 只看该作者
原帖由 newkid 于 2009-4-20 22:55 发表
你改了车站代码,结果肯定受影响,这个日志对我还有什么用?再说你的日志只有总条数,我就是发现了哪个类别的票数不符也不知道哪里少了。

把你的几个参数表的新数据给出来;生成的seat数据导出后,压缩成RAR再上传。我只要比较一下,花几分钟就可以知道哪里有问题。

你的程序就是典型的按记录处理的思维方式,还美其名曰“离散的逻辑”。你为了实现表连接,不得不逐行从参数表取数据,再把这行数据作为查询条件查另外的表,就像CBO的NESTED LOOPS路径,当中夹杂大量的过程性代码(循环,判断,等等),这就增加了出错几率,也降低了代码可读性。你因为自己习惯了看起来觉得顺眼,会写SQL的人是肯定不这么认为的。用SQL的表连接你只需写连接条件、过滤条件,至于用嵌套循环还是HASH JOIN那完全不用操心,数据库给你的就是连接后的结果。你只需要一个SQLPLUS或者TOAD, 执行一下SQL马上就能看到结果集,复杂一点的SQL其实可以理解为多个步骤的查询,你可以把里面的子查询单独拷出来执行并查看结果,随时调整连接条件和过滤条件马上又能看到新的结果,这比你写那堆代码不知道方便多少。

现在上边的车站代码改回来了,供你参考。实际上这些代码不影响结果,改回来只是为了方便核对。现在的数据每天都2W多了,卸出来也是挺难看的,上边给你的都是一些汇总数据,查找还是比较方便的。车厢号0的都是无座,你可能没处理,扣除就是了。

使用道具 举报

回复
论坛徽章:
14
生肖徽章:龙
日期:2006-09-06 21:14:07生肖徽章:鼠
日期:2007-09-26 12:33:07生肖徽章:猪
日期:2007-03-29 02:34:48生肖徽章:猴
日期:2007-03-16 01:30:31生肖徽章:鸡
日期:2007-03-01 11:05:06生肖徽章:牛
日期:2007-02-26 22:32:05生肖徽章:羊
日期:2007-02-24 07:32:09生肖徽章:蛇
日期:2007-01-25 16:51:01生肖徽章:马
日期:2007-01-06 21:13:18生肖徽章:兔
日期:2006-12-28 19:31:43
319#
发表于 2009-4-21 11:18 | 只看该作者
包装器?不是很看得明白...

使用道具 举报

回复
论坛徽章:
14
生肖徽章:龙
日期:2006-09-06 21:14:07生肖徽章:鼠
日期:2007-09-26 12:33:07生肖徽章:猪
日期:2007-03-29 02:34:48生肖徽章:猴
日期:2007-03-16 01:30:31生肖徽章:鸡
日期:2007-03-01 11:05:06生肖徽章:牛
日期:2007-02-26 22:32:05生肖徽章:羊
日期:2007-02-24 07:32:09生肖徽章:蛇
日期:2007-01-25 16:51:01生肖徽章:马
日期:2007-01-06 21:13:18生肖徽章:兔
日期:2006-12-28 19:31:43
320#
发表于 2009-4-21 11:18 | 只看该作者
顶原创

使用道具 举报

回复

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

本版积分规则 发表回复

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