[ https://issues.apache.org/jira/browse/CALCITE-2635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16738592#comment-16738592 ]
Julian Hyde commented on CALCITE-2635: -------------------------------------- Sure, we can merge this with no extra tests. But I would be grateful for help getting to a performance testing framework. > getMonotonocity is slow on wide tables > -------------------------------------- > > Key: CALCITE-2635 > URL: https://issues.apache.org/jira/browse/CALCITE-2635 > Project: Calcite > Issue Type: Improvement > Components: core > Reporter: Gian Merlino > Assignee: Gian Merlino > Priority: Major > Labels: performance > > RelOptTableImpl's getMonotonocity does an indexOf on > {{rowType.getFieldNames()}}, which is O(N) in the number of fields. > IdentifierNamespace calls getMonotonicity once for every field in the table > namespace, so it becomes O(N^2) in the number of fields. We observed 2-4 > second query planning times with a table that had 18,000 columns, reduced to > about 150ms after patching getMonotonicity to be O(1) in the number of fields. -- This message was sent by Atlassian JIRA (v7.6.3#76005)