|
|
|||||||||||||||||||||||||||||||||||||||
3.2.5 Optimizer ControlThe code produced by MonetDB/SQL is massaged by several code optimizers to arrive at the best possible plan for evaluation. However, for development purposes and the rare case that more control is needed, the SQL session variable optimizer can be set to a list of optimizers to identify the steps needed. sql>set optimizer='costModel,coercions,emptySet';
sql>select optimizer;
+------------------------------+
| single_value |
+==============================+
| costModel,coercions,emptySet |
+------------------------------+
sql>set optimizer='default_pipe'; -- to return to default setting
The default SQL optimization pipe line is defined as:
During SQL initialization, the optimizer pipeline is checked against the dependency information maintained in the optimizer library to ensure there are no conflicts and at least the pre-requisite optimizers are used. The final result of the optimizer steps become visible using the explain statement modifier. Alternatively, the debug statement modifier in combination with the 'o' command provides access to the intermediate optimizer results. Several optimizer pipelines are defined in the MonetDB configuration file. They represent ongoing development activities and experimental code. Or, the stability of an optimizer has not reached a satisfactory level. The pipe lines defined in the current releae are illustrated below.
|
||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| © 1994-2010 CWI | Contact us Legal HG web Bugs TestWeb PermaStore | |||||||||||||||||||||||||||||||||||||||