I'm thinking of extending the query cache to deal with following scenarios,
1. stop invalidating the cache entries when updates take place for
columns which are not in the select list of the cached queries
2. when a second query contains a subset of columns from a first query
(which has cached results) obtain the results from the cache, this
will not happen due to the difference in the query, but since the
select list of the second query is a subset of the select list of the
first query (and the where clause should be identical) we can obtain
the results from the cache.
3. identify the queries with identical select lists but having column
names in different orders and process them as identical queries and
take the advantage of query cache.
Still this is in idea level and I haven't done any coding yet. I just
wanted to try out this as an experiment and check the performance on a
database where the updates are relatively less.
I know that this needs some more memory for the query cache, and need
some additional query parsing.
Since I'm a beginner in this area I would like to know whether this is
doable and any problems that may arise ....