我们知道在MySQL中可以使用FORCE INDEX(index_name,...)来强制使用索引,那在SQLAlchemy如何指定呢?
经过多方查找和实践,我发现了一个叫with_hint的函数。
我们看下源码
1 | def with_hint(self, selectable, text, dialect_name="*"): |
with_hint 接受三个参数
selectable : 查询的表
text: 需要指定的索引字符串
dialect_name: 数据库类型
源码中只是给了sybase和oracle两个数据库的实例 对于mysql你应该按照下面的去配置。
1 | query_sql = table_sa.select().where( |
推荐阅读一篇不错的文章:Mysql 你不知道的 Limit)