繁体   English   中英

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

[英]using the cx_Oracle arraysize parameter with pandas read_sql

当使用cx_Oracle从Oracle中选择大量数据时,无论是使用熊猫read_sql还是使用cx_Oracle Cursor fetchall()方法,我都发现它的运行速度极其慢。

通过增加Cursor的arraysize属性可以极大地提高性能,这使我从fetchall()获得了不错的性能。 熊猫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中的“其他连接参数”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM