Data can change quite often or very rarely. Spectrum Spatial defines this as volatility. This is an important concept as the volatility of data affects the performance of any data access operation (e.g., query, render, insert, etc.). The creator of a named table can mark the data as volatile or not as part of the named table definition.
When a named table is first loaded into Spectrum Spatial various pieces of metadata are saved for later use. Some of this information is the schema of the table. When Spectrum Spatial executes a data access operation, the first step is to determine whether or not the data source is volatile.
If the named table is not marked as volatile, then Spectrum Spatial uses its cached data source metadata to execute the desired data access operation.
If the named table is marked as volatile, then Spectrum Spatial asks the data source if it has changed since it was last accessed. If it has not changed, then Spectrum Spatial uses its cached data source metadata to execute the desired data access operation. If the data has changed then Spectrum Spatial removes all information it has about the data from its cache, reopens the named table and rebuilds the data source metadata to be used to execute the data access operation. The definition of 'changed’ is defined by each data source. See the Data Sources section for more information.
The volatility setting can have a great impact on the performance on data access operations, often in unexpected ways. For example, generating tiles via the Spectrum Spatial Tile Service on named tables with volatility turned on, can have a negative impact on performance. For named tables based on native TAB or shapefiles where the volatility is turned off, performance will improve. Spectrum Spatial stores file handles in a cache for all non-volatile native TAB files and shapefiles as a way to boost performance.
The default setting for volatility is true for all named tables. To change the setting, go to the table details page in Spatial Manager and choose Modify then choose False under the Volatile setting.