IBM How to enable the snippet results cache in the Netezza Platform Software releases - United States  TECHNOTE (TROUBLESHOOTING)

PROBLEM(ABSTRACT)
 The snippet results cache feature is disabled by default in some NPS releases. Review this topic to learn how to enable the feature if your queries could benefit from it. 

CAUSE
Starting with the June 2015 fix packs for NPS 7.1.0.6 and 7.2.0.5, and the NPS 7.2.1 release, the snippet results cache is disabled by default because it was optimized for specific workloads. Starting in the March fix packs 7.1.0.9, 7.2.0.8, and 7.2.1.2, the feature is enabled by default because it is optimized for most workloads. 

ENVIRONMENT
Netezza Platform Software releases 7.1.0.6 through 7.1.0.8-P1, 7.2.0.5 through 7.2.0.7-P1 and 7.2.1 through 7.2.1.1-P1

DIAGNOSING THE PROBLEM
Queries that take advantage of the snippet results cache have longer runtimes after upgrades from any 7.x release to a release listed in the Environment section.

RESOLVING THE PROBLEM
The snippet results cache is a query optimization feature added in NPS release 7.1 that can help to improve the performance of small queries. The feature was enabled by default for the NPS 7.1 releases up to 7.1.0.6 and for 7.2 releases up to 7.2.0.5.


The snippet results cache saves the intermediate results of snippets and can reuse them rather than incur the processing time to recompute them when needed. The cache can help to improve the performance of small queries. 

However, in environments where queries run against tables that constantly change with TRUNCATE, load, updates, and/or rollback operations, caching may not be a good match if cached snippet results are frequently invalidated before they can be reused. 

If you upgrade from any 7.x release to a release listed in the Environment section and detect a change in query performance for queries that take advantage of the snippet results cache, you can re-enable the feature.

To enable the feature on a session level and test the snippet results cache behavior, you must pause the NPS system, set the variable, and resume the system, as follows: 

nzsystem pause -force
nzsystem set -arg system.srcMode=1 -force
nzsystem resume

This setting remains in effect until the database is restarted. You can add the definition to the system.cfg file to keep the setting in effect after the Netezza software restarts:


 1. Log in to the Netezza system as the nz user account.
    
 2. With any text editor, open the /nz/data/config/system.cfg file. 
    
 3. Look for a system.srcMode definition in the file to make sure that one is not already present and/or commented out. If you find an entry, make sure that system.srcMode=1 is set and not commented out with a # character. If you cannot find an entry, add system.srcMode=1 to the file. 
    
 4. Save and close the system.cfg file.
    
 5. Stop and restart the NPS software using the nzstop and then the nzstart commands.
How to enable the snippet results cache in the Netezza Platform Software releases? How to enable the snippet results cache in the Netezza Platform Software releases? 
To enable the feature on a session level and test the snippet results cache behavior, you must pause the NPS system, set the variable, and resume the system, as follows: 

nzsystem pause -force
nzsystem set -arg system.srcMode=1 -force
nzsystem resume

This setting remains in effect until the database is restarted. You can add the definition to the system.cfg file to keep the setting in effect after the Netezza software restarts:


 1. Log in to the Netezza system as the nz user account.
    
 2. With any text editor, open the /nz/data/config/system.cfg file. 
    
 3. Look for a system.srcMode definition in the file to make sure that one is not already present and/or commented out. If you find an entry, make sure that system.srcMode=1 is set and not commented out with a # character. If you cannot find an entry, add system.srcMode=1 to the file. 
    
 4. Save and close the system.cfg file.
    
 5. Stop and restart the NPS software using the nzstop and then the nzstart commands.