我有一些 python 代码,我试图使用 sqlalchemy 和 modin 从我的数据库中并行读取未提交的代码。我尝试将函数调用为:df = pd.read_sql("select * from my_table", uri_string, params={'isolation_level': 'READ UNCOMMITTED'})
. 但是,我看到生成的查询在没有隔离级别的情况下提交到我的数据库。有没有人能够在调用 read_sql 之前在不创建 sqlalchemy 引擎的情况下注入隔离级别?
编辑:与 pandas 不同,modin 的实现允许 read_sql 并行运行。该实现的一部分意味着我编写的任何查询都将被包装到几个子查询中,例如select * from (select * from my_table) limit 100 offset 200;
. 因此,在不调整此实现的情况下,语句级隔离是不可能的。此外,此实现需要一个 sqlalchemy URI 字符串,而不是可以由许多工作人员序列化的引擎或连接。因此,如果要从连接字符串设置隔离级别,我需要知道如何在 URI 字符串中注入隔离级别参数。