我们知道在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)