2

我有一个简单的参数化选择查询,通过 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

4

0 回答 0