使用Oracle DB关闭SqlAlchemy中的十进制自动转换
在查询Oracle数据库时,如何告诉SqlAlchemy不要将Oracle数字字段转换为十进制 我试图用SqlAlchemy替换一堆包含手动sql语句的代码。许多查询从数据库中获取500列数字。使用池连接的SQL alchemy版本速度慢了10倍,几乎可以肯定是因为转换为十进制使用Oracle DB关闭SqlAlchemy中的十进制自动转换,oracle,sqlalchemy,decimal,Oracle,Sqlalchemy,Decimal,在查询Oracle数据库时,如何告诉SqlAlchemy不要将Oracle数字字段转换为十进制 我试图用SqlAlchemy替换一堆包含手动sql语句的代码。许多查询从数据库中获取500列数字。使用池连接的SQL alchemy版本速度慢了10倍,几乎可以肯定是因为转换为十进制 >>> engine = sqlalchemy.create_engine("oracle+cx_oracle://"+connString) >>> conn = engine.po
>>> engine = sqlalchemy.create_engine("oracle+cx_oracle://"+connString)
>>> conn = engine.pool.connect()
>>> cursor = conn.cursor()
>>> cursor.execute("""SELECT * FROM MY_TABLE""")
>>> r = cursor.fetchone()
>>> r[-1]
Decimal('0.878935370620606')
我如何告诉方言不要转换成十进制?(旧代码不使用十进制,因此精度的损失并不重要。10的减速因素是。)我在SqlAlchemy列表中也问了这个问题,得到了一个答案。没有办法,但开发人员很快添加了一个。此外,他还建议使用python库作为标准库十进制模块的快速替代品。我在SqlAlchemy列表中也问了这个问题,并得到了一个答案。没有办法,但开发人员很快添加了一个。此外,他还建议使用python库作为标准库十进制模块的快速替代品。我已经尝试将
引擎.dial.支持\u native\u decimal
设置为False
,但这不起作用。我猜SqlAlchemy正在预计算转换函数。我已经尝试将引擎.方言.支持\u native\u decimal
设置为False
,但这不起作用。我猜SqlAlchemy是在预计算转换函数。