【问题标题】:SQLalchemy specify which index to useSQLalchemy 指定使用哪个索引
【发布时间】:2012-10-05 01:58:25
【问题描述】:

SQLalchemy 中有没有办法告诉查询使用哪个索引?

我需要这个的原因是它生成的 SQL 查询使用了“错误”的索引——我拥有的两个字段正好存在一个索引,但它没有使用它。

谢谢!

【问题讨论】:

    标签: python sql indexing sqlalchemy


    【解决方案1】:

    我认为您可以为此使用with_hint()

    例如

    session.query(Model).with_hint(Model, 'USE INDEX col1_index')
    

    老实说,我真的不知道这件事;我是在他们的ORM tests 中找到“USE INDEX”时发现的。

    【讨论】:

    • 我让它在 mysql 中使用 'USE INDEX (col1_index)' 语句
    • 使用 MS SQL Server 或 Azure SQL 数据库的用户记得在使用with_hint时指定dialect_name参数:session.query(Model).with_hint(Model, 'WITH(INDEX(col1_index))', 'mssql')
    猜你喜欢
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    • 1970-01-01
    • 2019-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多