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