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="", host="172.0.0.1", port="")
# 从数据库连接池获取连接
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()

最新文章

  1. SQL Server 2012 清理日志 截断日志的方法
  2. knockoutjs表格增加更新删除
  3. QF——iOS中的数据库操作:SQLite数据库,第三方封装库FMDB,CoreData
  4. 第三届蓝桥杯Java高职组决赛第一题
  5. delphi const
  6. MVC异步加载学习笔记
  7. 深度优先搜索(DFS)专题讲座PPT截图【需要原稿的请留言或私信】
  8. mock详解
  9. 随机函数rand()与srand()
  10. mysql 主从配置,主-》windows,从-》centos6.5
  11. create react app遇到的问题
  12. C#微信公众号开发--网页授权(oauth2.0)获取用户基本信息一
  13. 001 LRU-缓存淘汰算法
  14. jQuery-手风琴效果-2
  15. Oracle 学习总结 - 问题诊断
  16. elasticsearch安装步骤
  17. bzoj1698 / P1606 [USACO07FEB]白银莲花池Lilypad Pond
  18. 【Android】7.2 LinearLayout(线性布局)
  19. Windows mobile 下读取手机SIM卡信息(转)
  20. Backup--修改实例级别是否使用压缩备份的默认值

热门文章

  1. golang实现mysql数据库备份
  2. jquery中的jsonp和js中的jsonp还有配合php实现的jsonp。
  3. http中使用json封装数据的性能测试
  4. 初步探究ES6之箭头函数
  5. Druid数据迁移小计
  6. Python:使用正则去除HTML标签(转)
  7. AtCoder Regular Contest 103 Problem D Robot Arms (构造)
  8. 洛谷P1129 [ZJOI2007] 矩阵游戏
  9. shell 读配置文件
  10. Oracle unique / distinct