This property specifies the size and path of dimensional hopping when executing queries to improve query execution time. By hopping, fewer dimensions are touched at the time of query execution; thereby improving the query performance.
There are two methods of defining the hops.
- Method 1: This method specifies the size of the hop between dimensions. For example, if the value is set as 2, Kyvos will jump from the first dimension to the third to the fifth dimension. If the value is 3, Kyvos hops from the first to the fourth to the seventh dimension.
- Method 2: This method enables Kyvos to hop in a specified route giving more flexibility for query tuning. In this method, you can define the start and end point for each hop as a comma-separated list. This method allows multiple paths through dimensions.
- In both cases, dimensions that are not specified are handled in a single hop from the nearest defined dimension.
Values and behavior:
- 1 - Any positive integer indicating the size of the hop. For example, 1 would hop 1 to 2 to 3, 2 would hop 1 to 3 to 5.
- 2 - Any number in the <integer:integer, start:end> hop pairs separated by commas. For example, 0:5,5:8,1:3,3:6,6:9. Note: Each START can only be identified once. For example, 1:3,1:5 is not allowed.
1 - Kyvos will hop the dimensions sequentially.
Cube: If the property is set on a cube, then the value will override the connection level value for that cube’s build job.
Comes into effect:
A full cube build is required for this to take effect.
Dependencies and related properties:
This property defines the first dimension as dimension ZERO. By default, dimensions are in descending order by cardinality. However, the kyvos.build.dimension.order property can change this order. Dimension 0 is then the first dimension defined in the kyvos.build.dimension.order property.