美文网首页
cx_Oracle 插入大量数据

cx_Oracle 插入大量数据

作者: yepeng05 | 来源:发表于2018-11-23 17:28 被阅读0次

通过 cx_Oracle 向数据库中写入大量数据

# -*- coding: utf-8 -*-
"""
性能测试
向Oracle插入 63391 行,耗时 3.03 秒
向Oracle插入 10439134 行,耗时 486.81 秒
"""

import time
import cx_Oracle


user = "****"
pw = "*****"
dsn = "14.29.1.27:11526/orcl"

# 控制每批次插入的数量
batch = 5000

connection = cx_Oracle.connect(user, pw, dsn, encoding = "UTF-8", nencoding = "UTF-8")

cursor = connection.cursor()

sql = '''
    INSERT INTO hsbi.hs_add_data_t1 
    (acc_nbr, created_date, completed_date, area_id, area_name, stb_code, stb_prop, group_id, group_name, name, cust_contact_tel)
    VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11)
'''

        
start = time.time()

# 定义需要插入的文本路径
path = u'C:/Users/yepeng/Desktop/Samples/stock_data.txt'

dataset = list()

try:
    with open(path, 'r', encoding='UTF-8') as reader:
        for index, line in enumerate(reader):
            dataset.append(tuple(line.split('|')))
            if (index + 1) % batch == 0: 
                cursor.executemany(sql, dataset)
                connection.commit()
                dataset.clear()
                continue
except Exception as e:
    print(e)
finally:
    cursor.executemany(sql, dataset)
    connection.commit()
    dataset.clear()
    cursor.close()
    connection.close()

elapsed = (time.time() - start)

print('向Oracle插入 {} 行,耗时 {} 秒'.format(index+1, elapsed))

相关文章

  • cx_Oracle 插入大量数据

    通过 cx_Oracle 向数据库中写入大量数据

  • Mysql 插入大量数据

    使用字符串拼接SQL,执行一次,效率更高。 在执行脚本处理时,可能需要设置PHP内存和MySQL接受的包大小 1....

  • 批量插入大量数据

    最近有个任务需要给一个MySQL数据库的一个表插入 1亿条数据。之前并没有处理过这么大的数据量,所以用之前的 fo...

  • Redis 批量插入大量数据

    Redis作为高性能的Nosql数据库越来越受欢迎,并在使用很多应用场景。常见的一种用法就是缓存一些用户数据。通常...

  • SQL 循环插入大量数据

    在项目开发中经常会造一些假数据来进行测试,但是每次写sql时都得到网上找语句,所以这里做下记录

  • ubuntu Python 连接Oracle数据库

    1、安装cx_Oracle sudo pip3 install cx_Oracle 2、安装Oracle 数据库相...

  • 大数据量下MySQL插入方法的性能比较

    不管是日常业务数据处理中,还是数据库的导入导出,都可能遇到需要处理大量数据的插入。插入的方式和数据库引擎都会对插入...

  • Laravel使用心得

    插入大量数据优化: DB::table('users')->insert(array( array('em...

  • PHP实现插入100000条数据优化

    第一种方法使用foreach循环 对比一下插入少量数据与插入大量数据,使用上面的for循环插入耗费的时间: 第二种...

  • 【SpringBoot】批量插入数据

    批量插入大量数据 问题最近使用Spring-Boot遇到一个问题,当向数据库批量插入数据时,如果数据量过大会报错M...

网友评论

      本文标题:cx_Oracle 插入大量数据

      本文链接:https://www.haomeiwen.com/subject/hqxsqqtx.html