有经验丰富的老手们推荐一下从数据库导出大量数据到Excel的工具吗,如图:Navicat导出两百多万数据居然用了半个小时

有经验丰富的老手们推荐一下从数据库导出大量数据到Excel的工具吗,如图:Navicat导出两百多万数据居然用了半个小时

中午好🌞🌞🌞
本答案参考通义千问
从数据库导出大量数据到Excel确实可能会遇到性能问题,尤其是在处理数百万行数据时。以下是一些可能的解决方案和推荐的工具:
使用更高效的导出工具
分批导出数据
使用CSV文件作为中间格式
优化数据库查询
使用编程语言进行数据导出
使用专业的ETL工具
import pandas as pd
import sqlite3 # 假设使用SQLite数据库
# 连接到数据库
conn = sqlite3.connect('your_database.db')
# 分批次读取数据
batch_size = 100000
offset = 0
while True:
query = f"SELECT * FROM your_table LIMIT {batch_size} OFFSET {offset}"
df = pd.read_sql(query, conn)
if df.empty:
break
# 将数据追加到Excel文件中
with pd.ExcelWriter('output.xlsx', mode='a', engine='openpyxl') as writer:
df.to_excel(writer, sheet_name=f'Sheet{offset // batch_size + 1}', index=False)
offset += batch_size
# 关闭数据库连接
conn.close()
sqlite3.connect 连接到数据库。LIMIT 和 OFFSET 进行分页查询。pandas 库将DataFrame写入Excel文件。为了防止覆盖之前的数据,使用 mode='a' 以追加模式打开Excel文件,并为每个批次创建一个新的Sheet。这种方法可以有效地处理大量数据,并且可以根据需要调整批次大小以优化性能。