编辑:VS代码不好用。我在Jupyter中运行了完全相同的代码,它工作得更快
我一直在使用32位Python,因为数据库是32位的。我不知道这是否会影响查询的速度,但它确实会导致内存问题,所以我想在这里提及它
我注意到,在Oracle SQL Developer中运行查询时,比通过python连接到数据库并运行查询时快20%-30%。我使用pandas将结果导出到csv,作为自动化过程的一部分,否则我会从Oracle手动导出结果
import cx_Oracle as cx
import pandas as pd
dsn_tns = cx.makedsn('server_name', 'port', service_name='service_name')
conn = cx.connect(user=config.username, password=config.password, dsn=dsn_tns)
cursor = conn.cursor()
f = open('.sql file path', 'r')
sql = f.read()
f.close()
pd.read_sql_query(sql, conn)
这很简单,可以工作,但比在Oracle中运行我的查询慢得多
我的问题是,为什么?我怎样才能提高速度呢
VS代码给了我这个问题。我用了Jupyter,效果很好,速度也更快
总结各种意见:
检查两个地方的测量值是否相同。你在同一台机器上运行吗?您正在测量连接时间和SQL文件加载时间吗?SQLDeveloper是否真的获取了所有行,或者只是一些页面——这是我看到的常见问题
遵循手册中的cx_Oracle调优提示:https://cx-oracle.readthedocs.io/en/latest/user_guide/tuning.html
相关问题 更多 >
编程相关推荐