These thread states are associated with the query cache (see Section 8.9.3, “The MySQL Query Cache”).
The server is checking whether the user has privileges to access a cached query result.
The server is checking whether the current query is present in the query cache.
Query cache entries are being marked invalid because the underlying tables have changed.
The 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
DELETE that invalidates the
query cache, a
looks for a cached entry,
CACHE, and so forth.