我不记得曾经看到过从控制台使用准备好的语句的方法,并且不知何故不认为运行解释查询被认为是来自 API 的准备好的语句会得到我想要的。
这与我的这个老问题有关。
我主要对 MySQL 感兴趣,但也会对其他 DB 感兴趣。
我不记得曾经看到过从控制台使用准备好的语句的方法,并且不知何故不认为运行解释查询被认为是来自 API 的准备好的语句会得到我想要的。
这与我的这个老问题有关。
我主要对 MySQL 感兴趣,但也会对其他 DB 感兴趣。
根据我进行的简短研究,我看不到获得它的方法。理想情况下,一旦提供了变量,就会生成真正的执行计划。如果不存在常量,查找表可以快速消除实际运行的查询。理想的执行计划将考虑发生的频率。我的理解是,MySQL 至少用于在准备语句时准备执行计划以验证表达式。然后,当您执行它时,它会生成另一个解释计划。
我相信解释计划暂时存放在 MySQL 中的一个表中,但在使用后很快就被删除了。
我建议在 MySQL 内部列表中询问。
祝你好运,
雅各布
“你不能”
https://dev.mysql.com/doc/internals/en/prepared-stored-statement-execution.html
这基本上说在编译时为准备好的语句创建的执行计划没有被使用。在执行时,一旦绑定了变量,它就会使用这些值来创建一个新的执行计划并使用该执行计划。
这意味着如果您想知道它将做什么,您可以获取您打算准备的查询,给它您将绑定到它的值,以及EXPLAIN PLAN
完整的查询。