[
https://issues.apache.org/jira/browse/TRAFODION-2765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16192246#comment-16192246
]
David Wayne Birdsall commented on TRAFODION-2765:
-------------------------------------------------
Here is a script that reproduces the problem.
?section create
drop table if exists tda;
CREATE TABLE tda
(
A INT NO DEFAULT NOT NULL NOT DROPPABLE
SERIALIZED
, B INT NO DEFAULT NOT NULL NOT DROPPABLE
SERIALIZED
, C INT NO DEFAULT NOT NULL NOT DROPPABLE
SERIALIZED
, D INT NO DEFAULT NOT NULL NOT DROPPABLE
SERIALIZED
, PRIMARY KEY (A ASC, B ASC, C ASC)
)
SALT USING 4 PARTITIONS on (A)
;
?section populate
-- UEC of tda.a is 100, tda.b is 10, tda.c is 2000
upsert using load into tda
select x1+10*x2,
x3,
x4+10*x5+100*x6+1000*x7, x1+x2+10*x3+x4+10*x5+100*x6+1000*x7
-- the from clause below creates 2,000,000 rows, the cross product of
-- 6 copies of { 0, ... 9 } and one copy of { 0, 1 }
from (values(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) T(x1)
transpose 0,1,2,3,4,5,6,7,8,9 as x2
transpose 0,1,2,3,4,5,6,7,8,9 as x3
transpose 0,1,2,3,4,5,6,7,8,9 as x4
transpose 0,1,2,3,4,5,6,7,8,9 as x5
transpose 0,1,2,3,4,5,6,7,8,9 as x6
transpose 0,1 as x7;
update statistics for table tda on every column;
?section testit
prepare s1 from select * from tda where a = 5 and c = 20;
In this example, we have a query with an equality predicate on the second key
column, A. There is an inferred equality predicate on the leading key column,
"_SALT_", since it is a function of A.
In this example, the code in ScanOptimizer::useSimpleFileScanOptimizer does not
consider MDAM.
> MDAM is not considered when sometimes it should be
> --------------------------------------------------
>
> Key: TRAFODION-2765
> URL: https://issues.apache.org/jira/browse/TRAFODION-2765
> Project: Apache Trafodion
> Issue Type: Bug
> Components: sql-cmp
> Affects Versions: 2.3-incubating
> Environment: All
> Reporter: David Wayne Birdsall
> Assignee: David Wayne Birdsall
>
> The Optimizer has logic in method ScanOptimizer::useSimpleFileScanOptimizer
> that tries to determine scenarios where a single subset access will clearly
> be optimal, and in those scenarios does not consider MDAM. An example would
> be a query whose only key predicates are equality predicates on a leading
> subset of the key columns.
> However, the logic in ScanOptimizer::useSimpleFileScanOptimizer sometimes
> rules out considering MDAM when it would be beneficial to do so. An example
> is a query with equality predicates on the first two columns of the key, no
> predicates on the third, and equality on the fourth. When the UEC of the
> third column is small, MDAM is likely to be the more efficient plan and
> should be considered.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)