zoukankan      html  css  js  c++  java
  • python从数据库获取全量数据的方法

    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()  
  • 相关阅读:
    redis.conf 参数说明
    BD2 catalog编目
    Altium Designer -在PCB中统一修改元器件标号的位置
    AD使用技巧-怎样绘制圆形敷铜
    运放压百率
    Altium designer 新建快捷键
    修改AD中PCB各层的透明度
    Altium Designer 使用小技巧2
    Altium Designer 使用中的小技巧1
    网络库的设计与实现
  • 原文地址:https://www.cnblogs.com/stono/p/9176751.html
Copyright © 2011-2022 走看看