我们有一个基于语句的复制服务器,它一直处于减速状态,在事件发生期间,SHOW FULL PROCESSLIST显示了"Waiting for query cache lock"上的复制查询,这令人惊讶,因为服务器query_cache_size被设置为0。分析违规查询确实会在表的每次更新中显示此步骤。
即使query_cache_size是0,在概要文件中查看更新也是典型的吗?这真的只是查询缓存的检查,而不是等待获得真正锁的查询吗?
如果我有一个这样的参数化SQL语句:有没有人知道PDO是否会将这个(见下文)识别为相同的SQL语句并使用缓存* FROM table WHERE my_field = :new_field_value
因此,我猜问题是:如果参数名在参数化的select语句中发生了更改,但其他任何内容都没有更改,我还能获得缓存的性能优势吗
当我试图在mysql中设置query_cache_size时,它显示了一个警告并将缓存大小重置为0。size is 0 |--------+------+-----------------------------------------------------------------+
因此,请帮助我<e