GUC variables¶
The GUC variables the module defines are:
saio¶
default: true
A boolean that enables or disables using SAIO for planning. If true, all queries with number of joins exceeding saio_threshold will be planned with SAIO, if false none.
saio_threshold¶
range: 0 to INT_MAX default: 14
Determines the threshold of FROM items beyond which SAIO is used.
For smaller queries it is suitable to optimize join order with PostgreSQL default exhaustive optimizer.
saio_seed¶
range: 0.0 to 1.0 default: 0.0
A floating point seed for the random numbers generator. If saio_seed is set to 0.0, the algorithm will randomize the seed with time(NULL). For other values, it will use the fixed seed provided.
saio_equilibrium_factor¶
range: 1 to INT_MAX default: 16
Scaling factor for the query size, determining the number of loops before equilibrium is reached.
Higher equilibrium_factor
gives SAIO possibility to visit more states
but increases the computation time.
saio_initial_temperature_factor¶
range: 0.0 to 10.0 default: 2.0
Factor determining the initial temperature of the system.
Higher saio_initial_temperature_factor
gives SAIO possibility to visit more states
but increases the computation time.
saio_temperature_reduction_factor¶
range: 0.0 to 1.0 default: 0.9
Factor determining how much the temperature is reduced each time equilibrium is reached.
Lower saio_temperature_reduction_factor
gives SAIO possibility to visit more states
but greatly increases the computation time.
saio_moves_before_frozen¶
range: 1 to INT_MAX default: 4
How many moves without a state change are considered a freezing condition.