gpt4 book ai didi

python - 将 cx_Oracle arraysize 参数与 pandas read_sql 一起使用

转载 作者:太空宇宙 更新时间:2023-11-04 10:19:41 24 4
gpt4 key购买 nike

当使用 cx_Oracle 从 Oracle 中选择大量数据时,我发现无论是使用 pandas read_sql 还是 cx_Oracle Cursor fetchall() 方法都非常慢。

通过增加 Cursor 的 arraysize 属性,性能得到了显着提高 - 使我能够从 fetchall() 中获得不错的性能。 pandas read_sql()Connection 对象作为输入,光标是在函数内创建的,因此我不清楚如何应用相同的设置并仍然利用read_sql() 函数。我错过了什么吗?

最佳答案

当使用 sqlalchemy 创建连接到数据库的引擎时,您可以传递 arraysize 参数,以便在创建游标时使用它:

import sqlalchemy
engine = sqlalchemy.create_engine("oracle+cx_oracle://user:pass@host:port/dbname", arraysize=50)
pd.read_sql("query ...", engine)

在此处查看文档:http://docs.sqlalchemy.org/en/rel_1_0/dialects/oracle.html#module-sqlalchemy.dialects.oracle.cx_oracle对于“附加连接参数”

关于python - 将 cx_Oracle arraysize 参数与 pandas read_sql 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33034694/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com