These thread states are associated with the query cache (see Section 8.10.3, “The MySQL Query Cache”).
checking privileges on cached queryThe server is checking whether the user has privileges to access a cached query result.
checking query cache for queryThe server is checking whether the current query is present in the query cache.
invalidating query cache entriesQuery cache entries are being marked invalid because the underlying tables have changed.
sending cached result to clientThe server is taking the result of a query from the query cache and sending it to the client.
The server is storing the result of a query in the query cache.
This state occurs while a session is waiting to take the query cache lock. This can happen for any statement that needs to perform some query cache operation, such as an
INSERTorDELETEthat invalidates the query cache, aSELECTthat looks for a cached entry,RESET QUERY CACHE, and so forth.