VCI uses available resources within the server to increase scan performance.
It speeds up processing in many situations, and can be more effective in the following situations:
Single table processing
Processing that handles many rows in the table
Processing that handles some columns in the table
Processing that performs very heavy aggregation such as simultaneous sum and average aggregation
VCI will not be used in the following cases, so it is necessary to determine its effectiveness in advance:
The data type of the target table or column contains VCI restrictions.
The SQL statement does not meet the VCI operating conditions
VCI is determined to be slower based on cost estimation
Note
If performing operations that use VCI, the full_page_writes parameter setting in postgresql.conf must be enabled (on). For this reason, if this parameter is disabled (off), operations that use VCI return an error. In addition, to perform operations for tables that do not create a VCI when the full_page_writes parameter setting is temporarily disabled (off), do not create a VCI or perform operations to tables that created a VCI during that time.
See
Refer to "11.1.4 Data that can Use VCI" for information on VCI restrictions.
Refer to "Scan Using a Vertical Clustered Index (VCI)" - "Operating Conditions" in the Application Development Guide for information on VCI operating conditions.