【问题标题】:Does Python's SQLAlchemy support server side cursor (for MSSQL)?Python 的 SQLAlchemy 是否支持服务器端游标(用于 MSSQL)?
【发布时间】:2015-09-11 11:58:37
【问题描述】:

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

是否可以将 SSCursor 与 SQLAlchemy 一起使用?如果这是可行的,有人可以给我看例子或指出参考吗?如果没有,有什么建议的解决方法吗?

谢谢!

【问题讨论】:

    标签: python sql-server sqlalchemy


    【解决方案1】:

    是的。您只需在 connect_args 参数中指定 'cursorclass' 选项。这是一个mysql的例子。您需要使用一个 MSSQL 连接器来实​​现服务器端游标,如 MySQLdb 对 mysql 所做的,如下所示。

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

    【讨论】:

    • 我没有接受答案,因为我没有找到 MSSQL 的 SSCursor。我用谷歌搜索了一段时间但没有运气:-(。但是,由于您指出了 connect_args 论点,因此我对您的答案投了赞成票。
    • 可能有一个连接器会延迟获取 MSSQL 的行。 oursql 应该为 mysql 做到这一点。
    • SSCursor 类不是支持服务器端游标的游标,它只是以无缓冲模式读取结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多