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

为啥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 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的