-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Enable logical property propagation by default
- Loading branch information
1 parent
8c9178d
commit 4b453a5
Showing
8 changed files
with
75 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
32 changes: 32 additions & 0 deletions
32
presto-docs/src/main/sphinx/optimizer/logical-properties.rst
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
================================= | ||
Logical Properties of Query Plans | ||
================================= | ||
|
||
Presto implements a framework for associating logical properties with the | ||
result sets produced by the nodes of a query plan. These logical properties | ||
might either initially derive from constraints defined on tables, or from | ||
operations performed by intermediate nodes in the query plan, such as | ||
aggregations, limits, or the application of predicates. The Presto optimizer | ||
may then exploit these logical properties to perform optimizations such as | ||
removing redundant operations or other logical transformations. | ||
|
||
The propagation of logical properties in query plans is enabled by the | ||
``exploit_constraints`` session property or ``optimizer.exploit_constraints`` | ||
configuration property set in ``etc/config.properties`` of the coordinator. | ||
Logical property propagation is enabled by default. | ||
|
||
|
||
Types of Logical Properties | ||
--------------------------- | ||
|
||
Currently Presto detects and propagates the following logical properties: | ||
|
||
* ``KeyProperty`` - Represents a collection of distinct attributes that hold for | ||
a final or intermediate result set produced by a plan node. | ||
|
||
* ``MaxCardProperty`` - Represents a provable maximum number of rows in a final or | ||
intermediate result set produced by a plan node. | ||
|
||
* ``EquivalenceClassProperty`` - Represents classes of equivalent variable and | ||
constant references that hold for a final or intermediate result set produced | ||
by a plan node. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters