One of the questions many MySQL administrators struggle with is getting greater caching of queries.  It is important to remember that MySQL does not normalize a statement when it checks for a cache hit.  It uses the statement and other connection details sent by the client to attempt to match the queries.  Any difference in spacing, character case, spacing or comments will  prevent a query from matching a previously cached version.  Therefore, it is important to ensure that all instances of similar queries in a site’s code be formatted exactly the same.