The Hint Cache Searching Content Using the Oracle Query Optimizer Component
4.2.5.10 The Hint Cache
Oracle Query Optimizer also contains a hint cache to store dynamically generated hints. For example, a hint derived from a parsed query or data source is cached to maintain persistence. In this way, the hint cache provides stability for queries and data sources. The hint cache is used during the optimization process to select hints for queries that do not contain Oracle or Content Server hints. The hint cache provides a mechanism to fine tune query hints. In addition, administrator can checkedit cache and change hint for queries at run time. The hint cache is stored to disk every two hours and is reloaded when the Oracle Content Server instance is started. The characteristics of the hint cache include: ■ Reusing Hint Cache Entries ■ Hint Cache Management ■ Default Capacity Algorithm ■ Origin of Hint Cache Keys ■ Hint Cache Persistence4.2.5.10.1 Reusing Hint Cache Entries The same query matches the same cache entry
regardless of its values unless the new value does not satisfy the hint rule conditions. Two examples are included below to demonstrate how the same hint cache entry can and cannot be used for multiple queries. Example 1: Using Similar Hint Cache Entries In the following two queries, the same hint cache entry is used because both queries match the hint rule requirements. ■ QueryA : SELECT FROM Revisions WHERE dDocName = name1 ■ QueryB : SELECT FROM Revisions WHERE dDocName = name2 Example 2: Using Different Hint Cache Entries In the following two queries, the same hint cache entry cannot be used because QueryB violates the requirements for the dReleaseState hint rule. The dReleaseState Managing System Settings 4-27 hint rule requires that the dReleaseState values are neither Y released nor O old revision. ■ QueryA : SELECT FROM Revisions WHERE dReleaseState = U AND dStatus = DONE ■ QueryB : SELECT FROM Revisions WHERE dReleaseState = Y AND dStatus = DONE4.2.5.10.2 Hint Cache Management In the hint cache, you can add a new entry, edit an
existing entry, or remove an existing entry using the Hint Cache Updater Page . When adding or editing hint cache entries, you must use the Oracle Content Server Hint Syntax . The ability to manage the hint cache is very useful for fine tuning query hints. The example below demonstrates the benefits of fine tuning a hint cache entry. Example: Batchloading Unindexed Content If you have just batchloaded 100K content items into the Content Server and they are not yet indexed, the index-based query used above Example 2: Using Different Hint Cache Entries would match all of the batchloaded documents. ■ QueryA: If most of the batchloaded documents have not been indexed, the dReleaseState index that is used in this query is not the best choice. For the best results in this case, you should fine tune the hint cache entry to use both the dReleaseState and the dStatus indexes. Use the Hint Cache Updater Page to update hint cache entries. SELECT dID FROM Revisions WHERE Revisions.dReleaseState = NN AND Revisions.dStatus in NDONE, NRELEASED, NDELETED AND Revisions.dInDate={ts 2005-02-23 17:46:38.321} ■ QueryB: After updating the hint cache entry, the new optimized query is: SELECT+ LEADINGrevisions INDEX revisions dReleaseState dStatus dID FROM Revisions WHERE Revisions.dReleaseState = NN AND Revisions.dStatus in NDONE, NRELEASED, NDELETED AND Revisions.dInDate={ts 2005-02-23 17:46:38.321}4.2.5.10.3 Default Capacity Algorithm By default, the hint cache has a maximum capacity
of 1000 hints. The hint cache uses the midpoint insertion least-recently-used LRU algorithm which is similar to the one used by Oracle and mySQL. A new entry is inserted into the middle of the queue and each subsequent execution moves the entry up one spot. When the number of hints in the cache exceed the maximum capacity, the entry at the bottom of the queue is removed from the cache. Thus, the LRU algorithm ensures that the most recently executed query hints are in the upper levels of the queue.4.2.5.10.4 Origin of Hint Cache Keys The hint cache key is generated from the
normalized query; see Section 4.2.5.2.3, Stage 3: Normalization. It consists of the 4-28 Oracle Fusion Middleware System Administrators Guide for Oracle Content Server qualified columns columns that are qualified by tablealias names and columns that have a hint rule defined. The cache key excludes conditions that contain joins or subqueries. The following example illustrates how the cache key is generated from a given query: SELECT DocMeta., Documents., Revisions. FROM DocMeta, Documents, Revisions WHERE DocMeta.dID = Revisions.dID AND Revisions.dID=Documents.dID AND Revisions.dDocName=abc AND Revisions.dStatusDELETED AND Revisions.dReleaseState=U OR Revisions.dReleaseState=I OR Revisions.dReleaseState=Y AND Documents.dIsPrimary0 The generated cache key is as follows: documents.disprimary:notequal:documents|revisions.ddocname:equal:revisions|revisio ns.dreleasestate:in:revisions|revisions.dstatus:notequal:revisions4.2.5.10.5 Hint Cache Persistence The hint cache is designed to be persistent. To ensure
the persistence, the hint cache is saved to the file system every two hours. The persisted hint cache is reloaded when the Oracle Content Server instance is started.4.2.5.11 Using Hint Rules
Parts
» Oracle Fusion Middleware Online Documentation Library
» Understanding Oracle Universal Content Management and Oracle Content Server
» Utilities Management Pages Applications Command Line
» Administration Tray Admin Applets Page
» Modifying Server Configuration Parameters for Oracle Content Server
» Viewing Log Information for Oracle Content Server
» Starting Oracle Content Server with Scripts
» Restarting Oracle Content Server with Scripts
» Viewing MBean Information for Oracle Content Server Accessing Oracle Content Server With a Browser
» Click OK. Running a Standalone Application on a Windows System
» Delete Update About Batch Loading
» Optional Parameters About Batch Loading
» About Preparing a Batch Load File
» About Running the Batch Loader Batch Loading from the Command Line
» Using the IdcCommand Utility and Remote Access
» Example: Best Practice Case Study
» Log File Characteristics Accessing the Log Files
» Accessing the Content Server Analyzer Viewing the Analysis Progress and Results
» Configuration Information Environment Packager Configuration Debug Entry
» About System Properties Configuring System Properties
» Configuring Content Security Configuring Internet Information Configuring the Database
» About The Oracle Query Optimizer Component Query Optimization Process
» How Reformatted Queries Optimize Searches
» Types of Recognized Hints Query Hints Syntax
» Additional Supported Sort Constructs The Hint Rules Table Edit Hint Rules Form
» The Hint Cache Searching Content Using the Oracle Query Optimizer Component
» Enter the applicable information for the query and hints. Click Remove.
» Data Management Introduction to the File Store System
» DefaultFileStore Settings Empty Storage Rule
» Using Standard Oracle Content Server Variables
» Understanding FileStoreProvider Storage Principles
» PartitionList Table StorageRules Table
» PathMetaData Table PathConstruction Table
» FileSystemFileStoreAlgorithmFilters Table FileStoreProvider Resource Tables
» Example PathMetaData Table Options Configuration for Standard File Paths
» Configuration for a Webless or Optional Web Store
» Configuration for Database Storage Altered Path Construction and Algorithms
» Script Construction Mapping URLs with WebUrlMapPlugin
» Supported Variables for Referencing AddEdit URL Mapping Entries
» Info Update Form Dynamic Conversion CGI parameters
» Oracle Content Server Providers
» Choosing an Appropriate Provider
» Security Providers About Providers
» Changes in Security Compared to Oracle Content Server 10g
» Security within Oracle Content Server
» Additional Security Options Introduction to Oracle UCM and Oracle Content Server Security
» Configuring Oracle UCM for Two-Way SSL Communication
» Configuring Oracle Access Manager 11g with Oracle UCM
» Configuring Oracle Access Manager 10g with Oracle UCM
» Configuring Oracle Single Sign-On for Oracle UCM
» Configuring Oracle WebLogic Server Web Services
» External Users Introduction to User Login Types
» Local Users Introduction to User Login Types
» Introduction to User Logins and Aliases
» Highlight the alias to be deleted and click Delete.
» Best Practices for Working with Security Groups Performance Considerations
» Predefined Roles About Permissions
» Accounts and Security Groups Hierarchical Accounts
» Assigning Accounts to a User with Oracle WebLogic Server
» Xalco Security Xalco Accounts
» Xalco Roles Roles and Permissions Table Roles and Users Table Accounts and Users Table
» Empty Access Control List Fields
» About Proxy Connections Additional Oracle Content Server Security Connections
» About Credential Mapping Credential Values
» About Named Password Connections Guidelines for Proxy Connections Data
» About Using HTTP Protocol for Content Server Connection Configuring the HTTP Provider
» About BrowserUrlPath Customization Browser URL Customization
» Affected Idoc Script Variables and Functions
» Changing Absolute Full Path Computation Changing Administration Path Computation
» ExtUserAttribInfo ResultSet Extended User Attributes
» encodeHtml Function Filter Data Input
» HtmlDataInputFilterLevel Configuration Variable Filter Data Input
» Viewing Information about a Component
» Enabling and Disabling a Component Uploading a Component
» Select the Template option. The Click Next. Click Next.
» Click Select. To show the entire list of predefined templates, select Show All. Click OK.
» Click Select. Select a query from the list. Click OK.
» Click Select. To show the entire list of predefined services, select Show All. Click OK.
» Click Select. To show the entire list of predefined includes, select Show All. Click OK.
» Click Insert. Repeat these steps until all of the table columns have been Click OK.
» Considerations for Using OracleTextSearch Configuring OracleTextSearch for Oracle Content Server
» Indexing and Query Speeds and Techniques
» Fast Rebuild Query Syntax OracleTextSearch Operators
» Case Sensitivity and Stemming Rules Search Results Data Clustering
» Snippets Additional Changes Oracle Text 11g Features and Benefits
» Determining Fields to Optimize Modifying the Fields Displayed on Search Results
» Searching with OracleTextSearch Metadata Wildcards
» Search Results with OracleTextSearch
» Configuring an Oracle Content Server Source with Other Single Sign-On Solutions
» Configuration Migration Introduction to Migration Tools and Components
» Archiver Introduction to Migration Tools and Components
» Folder Archiving FolderStructureArchive Component
» Migration Structure About Migration Templates and Bundles
» Limitations Migration Logs Migration Tips
» Using a web browser, select Config Migration Admin from the Oracle Content
» Archive Structure Collections Archive Details
» If required, enter the administrator login name and password, then click OK. Enter .archive
» Click Update. Click Delete. Select Custom Query Expression.
» Update Import Rule Insert Revision Import Rule Insert Create Import Rule
» Transfer Uses Transfer Methods Transfer Terms
» Local Transfer Pull Transfer Push Transfer
» Transferring Batch Files Transferring Files
» Single Revision Replications Replication Uses
» Click Edit. Select Is Transfer Automated. Click OK.
» Export Import Self ExportImport
» One-to-One Archiving One-to-Many Archiving
» Adding Content ID Prefixes Changing Release Dates
» Many-to-One Archiving Configuration Migration Tips
» Overview of FolderStructureArchive Component Differences With Built-in Folders Archiving Features
» Using a Folder Structure Archive Configuration Variables
» Important Implementation Considerations Folder Structure Archiving
» How ArchiverReplicationExceptions Works Scenario 1 Scenario 2
» Administering and Using ArchiverReplicationExceptions
» Total Export Possible with Blank Export Query New Check-Ins and Batch File Transfers
» Folder Archive Export Doesnt Work If Collections Table Has Many Records
» Select an archive. Click the Click Edit in the Export Query section.
» Click the Select an archive from the Current Archives list Click the
» Click the Table list Edit button.
Show more