You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@phoenix.apache.org by "Thomas D'Silva (JIRA)" <ji...@apache.org> on 2018/08/31 17:34:00 UTC

[jira] [Commented] (PHOENIX-4882) The client re-resolves the table for every projected non-indexed column when there's a local index.

    [ https://issues.apache.org/jira/browse/PHOENIX-4882?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16599066#comment-16599066 ] 

Thomas D'Silva commented on PHOENIX-4882:
-----------------------------------------

We can probably be smarter about resolving the  data table for columns that aren't present in the local Index. I also see the data table being resolved from IndexExpressionParseNodeRewriter. We also have this TODO in BaseQueryPlan

{code}
 // TODO: is it necessary to re-resolve the table?
                TableRef dataTableRef =
                        FromCompiler.getResolver(
                            FACTORY.namedTable(null, TableName.create(parentSchemaName, parentTableName)),
                            context.getConnection()).resolveTable(parentSchemaName, parentTableName);
                PTable dataTable = dataTableRef.getTable();
{code}

> The client re-resolves the table for every projected non-indexed column when there's a local index.
> ---------------------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-4882
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4882
>             Project: Phoenix
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Priority: Major
>
> See TupleProjectionCompiler.ColumnRefVisitor.
> Each non-projected column causes a server roundtrip in LocalIndexDataColumnRef.
> For wide tables that can be hundreds of time.
> I generally find that the same table is resolved over and over again for other reasons as well (I counted 15-25 times during query compilation!!)
> Put a break point in ConnectionQueryServicesImpl.getTable and you'll see.
> [~tdsilva]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)