在启用查询缓存的情况下,我的数据库已经启动和运行了一段时间,但是有0次命中。我试图检查设置,但我不确定问题是什么。使用InnoDB。mysql> SHOW VARIABLES LIKE 'query_cache%';| Variable_namequery_cache_wlock_invalidate | OFF |
+------------------------------+----
如果我有一个这样的参数化SQL语句:有没有人知道PDO是否会将这个(见下文)识别为相同的SQL语句并使用缓存* FROM table WHERE my_field = :new_field_value
因此,我猜问题是:如果参数名在参数化的select语句中发生了更改,但其他任何内容都没有更改,我还能获得缓存的性能优势吗
有什么方法可以确定是否从MySQL查询缓存中检索已执行的查询?
当然..。有很多方法可以在一般级别(SHOW STATUS LIKE '%qcache%'等)计算缓存查询的数量,但我特别想知道当前执行的查询是否是从MySQL缓存加载的。例如,在PHP语言中,函数mysql_insert_id();在一个单独的查询中返回最后插入的ID。在这个方向上,最好调用像mysql</