[英]How can I use SQLAlchemy to do “mysql explain”
我有一個像這樣的sql:
DBSession().query(Model).filter(***)
我想用SQLAlchemy
解釋這個 sql。
您的過濾器調用可以變成一個字符串:
query = str(DBSession().query(Model).filter(***))
然后您可以使用它來詢問 MySQL 解釋:
DBSession().execute('EXPLAIN ' + query)
您可能必須將過濾器添加到查詢中的任何綁定參數作為字典包含在內:
DBSession().execute('EXPLAIN ' + query, {'param_1': 'value1', 'param_2': 'value2'})
您可以像這樣准備解釋 sql 字符串:
'EXPLAIN' + query.compile(
compile_kwargs={"literal_binds": True},
dialect=mysql.dialect()
)
優點是查詢已填入參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.