我怎样才能用SQLAlchemy做"mysql解释"

Tal*_*mad 5 python mysql sqlalchemy explain

我有一个像这样的SQL:

DBSession().query(Model).filter(***)
Run Code Online (Sandbox Code Playgroud)

我想用这个解释这个sql SQLAlchemy.

Mar*_*ers 7

您的过滤器调用可以转换为字符串:

query = str(DBSession().query(Model).filter(***))
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用它来请求MySQL解释:

DBSession().execute('EXPLAIN ' + query)
Run Code Online (Sandbox Code Playgroud)

您可能必须将过滤器添加到查询中的任何绑定参数包括为字典:

DBSession().execute('EXPLAIN ' + query, {'param_1': 'value1', 'param_2': 'value2'})
Run Code Online (Sandbox Code Playgroud)