Re: Monitoring large resultsets
>When a write to a table occurs, it has to scan through all that to find any cached entries for that table. That takes a noticeable amount of time.
That's not true, query cache is not scanned instead hash key is used to locate entries:
Query_cache object consists of
- query cache memory pool (cache)
- queries hash (queries)
- tables hash (tables)
- list of blocks ordered as they allocated in memory
..
For quick invalidation of queries all query are linked in lists on used
database tables basis (when table will be changed (insert/delete/...)
this queries will be removed from cache). So global eXclusive lock is used while invalidation take place
Subject
Views
Written By
Posted
2052
July 10, 2012 10:26PM
1122
July 11, 2012 02:01AM
932
July 12, 2012 12:22AM
902
July 12, 2012 02:19AM
1015
July 12, 2012 03:06AM
953
July 12, 2012 03:37AM
944
July 12, 2012 03:51AM
943
July 12, 2012 04:13AM
928
July 12, 2012 05:35AM
987
July 12, 2012 05:49AM
928
July 12, 2012 06:05AM
1119
July 12, 2012 07:02AM
898
July 12, 2012 04:41PM
936
July 13, 2012 07:50PM
920
July 14, 2012 02:43AM
906
July 12, 2012 08:13AM
Re: Monitoring large resultsets
901
July 12, 2012 08:55AM
987
July 12, 2012 12:12PM
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion
of Oracle or any other party.