You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@quickstep.apache.org by "Jianqiao Zhu (JIRA)" <ji...@apache.org> on 2017/03/25 04:50:42 UTC
[jira] [Closed] (QUICKSTEP-68) Adjust the ordering of intermediate
relations' output attributes to improve copy performance.
[ https://issues.apache.org/jira/browse/QUICKSTEP-68?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jianqiao Zhu closed QUICKSTEP-68.
---------------------------------
Resolution: Implemented
The improvement has been implemented with PR #171.
> Adjust the ordering of intermediate relations' output attributes to improve copy performance.
> ---------------------------------------------------------------------------------------------
>
> Key: QUICKSTEP-68
> URL: https://issues.apache.org/jira/browse/QUICKSTEP-68
> Project: Apache Quickstep
> Issue Type: Improvement
> Components: Query Optimizer
> Reporter: Jianqiao Zhu
> Assignee: Jianqiao Zhu
> Priority: Minor
>
> Currently, all the intermediate relations (i.e. temporary relations created during query execution) have SPLIT_ROW_STORE layout. One existing optimization that improves copy performance for SPLIT_ROW_STORE layout is that, if two (or more) attributes are consecutive in both the source relation and the destination relation, then we can memory-copy the attributes' byte stream with just one std::memcpy call.
> This PR is a complementary improvement that it adjusts the ordering of the attributes in the physical plan to maximize the opportunity of copying consecutive attributes -- i.e. to minimize the number of std::memcpy calls.
> This PR uses a simple greedy algorithm to reorder the attributes, which works well with SSB/TPCH workloads. The algorithm may be further improved later.
> The feature can be turned on/off (default is on) with the -reorder_columns flag.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)