vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Hello, Is the query_cache a cache for *exact* queries -- exactness here refers to as determined by the query plan. Or is it word for word? Query in question, SELECT * FROM tbl WHERE ... LIMIT 100; as opposed to SELECT * FROM tbl WHERE ... LIMIT 10 Apparently, it seems that the second query is different than the first one for MySQL's query cacher. Is MySQL able to determine smaller subsets of a larger result set in terms of a query cache? I'm not sure if this is by design or a feature not yet implemented? Thanks, Mukul -- Mukul Sabharwal http://mjsabby.com |
| ||||
| At 04:26 PM 7/12/2007, Mukul Sabharwal wrote: >Hello, > >Is the query_cache a cache for *exact* queries -- exactness here >refers to as determined by the query plan. Or is it word for word? It is word for word, and is case sensitive. >Query in question, SELECT * FROM tbl WHERE ... LIMIT 100; >as opposed to SELECT * FROM tbl WHERE ... LIMIT 10 > >Apparently, it seems that the second query is different than the first >one for MySQL's query cacher. Of course. >Is MySQL able to determine smaller >subsets of a larger result set in terms of a query cache? No >I'm not sure if this is by design or a feature not yet implemented? This is by design because the cache looks up the sql command and if it finds it in the query cache, it returns the same result set from the cache. It does not even interpret or break down the SQL commands. It is a simple lookup into the query cache using the SQL statement. So you can't change any part of the query and still expect to retrieve the same results from the cache. Mike |