微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mysql Prepared_statements_instances 中的重复准备语句

如何解决mysql Prepared_statements_instances 中的重复准备语句

我对服务器端准备好的语句的理解是,它们与客户端会话相关联,应该被重用于类似的请求。

但是,当我查看 prepared_statements_instances 时,对于同一个 sql_TEXT,我可以多次看到相同的 OWNER_THREAD_ID。值得注意的是,这些语句的 COUNT_EXECUTE 有所不同(并且大于 1)。

我错过了什么吗?为什么不重复使用相同的语句?

SELECT 
  OWNER_THREAD_ID,STATEMENT_ID,STATEMENT_NAME,COUNT_EXECUTE,COUNT_REPREPARE,TIMER_PREPARE,AVG_TIMER_EXECUTE,sql_TEXT 
FROM prepared_statements_instance
  OWNER_THREAD_ID: 123
     STATEMENT_ID: 28
   STATEMENT_NAME: NULL
    COUNT_EXECUTE: 104
  COUNT_REPREPARE: 0
    TIMER_PREPARE: 111534000
AVG_TIMER_EXECUTE: 198759000
         sql_TEXT: select id from products WHERE id=?
***************************
  OWNER_THREAD_ID: 123
     STATEMENT_ID: 40
   STATEMENT_NAME: NULL
    COUNT_EXECUTE: 23
  COUNT_REPREPARE: 0
    TIMER_PREPARE: 111522000
AVG_TIMER_EXECUTE: 198435000
         sql_TEXT: select id from products WHERE id=?

驱动程序设置:

useServerPrepStmts=true,cachePrepStmts=true

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。