码迷,mamicode.com
首页 > 数据库 > 详细

python从数据库获取全量数据的方法

时间:2018-06-13 14:40:53      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:imp   second   article   数据库连接池   nbsp   2.0   %s   自动   提交   

python从数据库获取全量数据的方法

学习了:https://blog.csdn.net/lom9357bye/article/details/79503658

原文膜拜:

import psycopg2.pool  
from datetime import datetime  
  
  
# 批量查询大小  
batch_size = 1000  
  
  
def cursor_query():  
    # 使用数据库连接池,使用普通的连接方法运行貌似也会内存飙升,因此改为了连接池  
    simple_conn_pool = psycopg2.pool.SimpleConnectionPool(minconn=1, maxconn=5, database="dbname", user="username",  
                                                          password="123456", host="172.0.0.1", port="5432")  
    # 从数据库连接池获取连接  
    conn = simple_conn_pool.getconn()  
    # 自动提交事务设为false  
    conn.autocommit = False  
    # 创建游标,这里传入name参数,会返回一个服务端游标否则返回的是客户端游标  
    cursor = conn.cursor(cursorname)  
    # 首先查询全量数据  
    cursor.execute(select * from tablename)  
    count = 0  
    # 开始时间  
    start_time = datetime.now()  
    while True:  
        count = count + 1  
        # 每次获取时会从上次游标的位置开始移动size个位置,返回size条数据  
        data = cursor.fetchmany(batch_size)  
        # 数据为空的时候中断循环  
        if not data:  
            break  
        print(获取%s到%s数据成功 % ((count - 1) * batch_size, count * batch_size))  
    print(fetchmany获取全量数据所用时间:, (datetime.now() - start_time).seconds)  
  
cursor_query()  

 

python从数据库获取全量数据的方法

标签:imp   second   article   数据库连接池   nbsp   2.0   %s   自动   提交   

原文地址:https://www.cnblogs.com/stono/p/9176751.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!