MySQL Error number: MY-011603; Symbol: ER_GRP_RPL_MULTIPLE_CACHE_TYPE_NOT_SUPPORTED_FOR_SESSION; SQLSTATE: HY000

文档解释

Error number: MY-011603; Symbol: ER_GRP_RPL_MULTIPLE_CACHE_TYPE_NOT_SUPPORTED_FOR_SESSION; SQLSTATE: HY000

Message: We can only use one cache type at a time on session %u

MySQL错误MY-011603,被标记为ER_GRP_RPL_MULTIPLE_CACHE_TYPE_NOT_SUPPORTED_FOR_SESSION,SQLSTATE为HY000,是一个通用的故障代码。

错误说明

这是一个表示MySQL服务器期望使用一种查询缓存类型但是却发现存在多种缓存类型时会发生的错误。一般来说,多种缓存类型不支持在同一会话上使用,在这种环境下,MySQL服务器会抛出这个错误。

常见案例

这个错误的典型场景是,用户在一个会话中既使用了QC_HIT_LOW_LEVEL(适用于SQL查询缓存不是非常忙碌情况下使用,性能略优于直接查询)缓存,也使用了 Qcache_hit(利用内部缓存数据来进行查询)缓存,在这种情况下就会抛出这个错误。

另一个场景是当用户试图在一个会话中使用由不同查询缓存语句(如SAVEPOINT,ROLLBACK等)混合使用时,会抛出这个错误。

解决方法

针对第一种场景,可以重新分析当前使用的查询缓存类型,确保在同一会话里仅使用一种查询缓存类型,以避免出现此类错误。

对于第二种情况,可以将不同的查询缓存语句分离到不同的会话甚至不同的服务器上,确保每个语句在同一会话里只使用一种查询缓存类型,以避免引发这个错误。

你可能感兴趣的