我有一个简单的参数化选择查询,通过 pyodbc 连接访问 Oracle 数据库,并通过 pandas.read_sql 获取数据框中的数据。该代码在 Python 2 内核中非常高效和快速,而在 Python 3 中则非常慢。
以下是代码:
import pandas
import pyodbc
import time
connection = pyodbc.connect('dsn=oracle;userid=userid;pwd=password')
sql = """
select * from order_table
where
order_key = ?
"""
start_time = time.time()
dataframe = pandas.read_sql(sql=sql, con=connection, params=['key-1'])
print(time.time()-start_time)
Python 2 执行时间:0.193000078201
Python 3 执行时间:53.687000036239624