桥南玄机子 2018-12-14 09:17 采纳率: 0%
浏览 2922

为啥python代码突然卡住,然后按ctrl+c后又可以继续运行?

最近在做一个测试,往oracle数据库中塞20W的数据。 同时每塞1W条数据就打印一个日志到控制台。
代码如下:

import cx_Oracle
import time

consql = 'user/passwd@192.168.0.3/orcl'
oracon = cx_Oracle.connect(consql)
oracur = oracon.cursor()

laststamp = time.time()

for i in range(200000):
    if i % 10000 == 0:
        curstamp = time.time()
        print 'commit count :', i, 'cost:',curstamp - laststamp
        laststamp = curstamp
    sqlstr = "insert into T_ZB_TEST (xh, xm) values ('%d','%d')"%(i,i)
    oracur.execute(sqlstr)
    oracon.commit()

oracon.close()

结果在跑的时候,跑到5W条的时候就卡住了,在数据库中搜索一直是5W条数据,程序也没有异常也没有停止,我按了一下ctrl+c,程序又继续往下执行写数据了。 打印如下,可以很明显的看出写入一万条数据花费的时间在140秒左右,而那么明显超过140秒的就是我发现了异常,然后按了ctrl+c后的结果。

commit count : 0 cost: 0.0150001049042
commit count : 10000 cost: 141.917999983
commit count : 20000 cost: 142.936999798
commit count : 30000 cost: 146.870000124
commit count : 40000 cost: 135.5
commit count : 50000 cost: 143.559000015
commit count : 60000 cost: 870.066999912
commit count : 70000 cost: 205.25
commit count : 80000 cost: 157.353000164
commit count : 90000 cost: 138.504999876
commit count : 100000 cost: 139.806999922
commit count : 110000 cost: 141.4150002
commit count : 120000 cost: 436.0849998
commit count : 130000 cost: 143.148000002
commit count : 140000 cost: 139.263000011
commit count : 150000 cost: 135.034000158
commit count : 160000 cost: 137.210999966

不知道这个是否是python语言本身的问题。 使用的python版本是2.7.13.

  • 写回答

3条回答 默认 最新

  • hnnycmr 2020-10-26 15:50
    关注

    一般cmd窗口启动了快速编辑模式,不小心点到窗口了

    评论

报告相同问题?

悬赏问题

  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振