Python 的 SQLAlchemy 是否支持服务器端游标(对于 MSSQL)?

use*_*719 5 python sql-server sqlalchemy

我想使用 Python 的 SQLAlchemy 查询 MSSQL 数据库。可能有数千万匹配的行。为了在服务器端使用更少的内存,我考虑使用服务器端游标(SSCursor)对匹配的行进行切片。但是,我无法使用 SQLAlchemy 找到有关 SSCursor 的示例或资源。

是否可以将 SSCursor 与 SQLAlchemy 一起使用?如果这是可行的,有人可以向我展示示例或指出参考资料吗?如果没有,任何建议的解决方法?

谢谢!

Luk*_*uke 1

是的。您只需在 connect_args 参数中指定“cursorclass”选项即可。这是一个 mysql 的例子。您需要使用 MSSQL 连接器来实​​现服务器端游标,就像MySQLdbmysql 一样,如下所示。

from sqlalchemy import create_engine, MetaData
import MySQLdb.cursors
engine = create_engine('mysql://your:details@go/here', connect_args={'cursorclass': MySQLdb.cursors.SSCursor})
Run Code Online (Sandbox Code Playgroud)