我正在使用SQLALCHEMY在Oracle数据库中执行sql脚本。过去,我在MSSQL/MYSQL相关的sql查询中使用了fast_ExecuteMy,速度非常快。我猜同样的方法不适用于Oracle
我的问题如下:
从sqlalchemy.engine导入创建引擎
DIALECT = 'oracle'
SQL_DRIVER = 'cx_oracle'
USERNAME = 'dbuser' #enter your username
PASSWORD = 'password'
HOST = 'hostname'
PORT = 1521
SERVICE = 'service' # db service name
ENGINE_PATH_WIN_AUTH = DIALECT + '+' + SQL_DRIVER + '://' + USERNAME + ':' + PASSWORD +'@' + HOST + ':' + str(PORT) + '/?service_name=' + SERVICE
使用下面的查询给我错误
engine = create_engine(ENGINE_PATH_WIN_AUTH, fast_executemany=True)
TypeError: Invalid argument(s) 'fast_executemany' sent to create_engine(), using configuration OracleDialect_cx_oracle/QueuePool/Engine. Please check that the keyword arguments are appropriate for this combination of components.
如果我不使用fast\u executemany,我不会得到任何错误。但是,脚本的执行速度很慢
engine = create_engine(ENGINE_PATH_WIN_AUTH)
sql_query = """SELECT col1, col2, col3
FROM Table
WHERE date >= add_months(sysdate, -3)"""
df = pd.read_sql_query(sql_query, engine)
请告诉我是否有其他替代方法可以在Oracle中更快地执行sql查询
目前没有回答
相关问题 更多 >
编程相关推荐