本文整理汇总了Java中com.taobao.tddl.optimizer.core.ast.query.JoinNode.getRightKeys方法的典型用法代码示例。如果您正苦于以下问题:Java JoinNode.getRightKeys方法的具体用法?Java JoinNode.getRightKeys怎么用?Java JoinNode.getRightKeys使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.taobao.tddl.optimizer.core.ast.query.JoinNode
的用法示例。
在下文中一共展示了JoinNode.getRightKeys方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: canChooseSortMerge
import com.taobao.tddl.optimizer.core.ast.query.JoinNode; //导入方法依赖的package包/类
/**
* <pre>
* 选择sort merge join的条件:
* 1. 存在orderby,orderby顺序包含所有join列或者join列包含所有orderby字段,一个前缀顺序匹配. (orderby必须按顺序匹配,join列可以无序)
* 2. 存在groupby, groupby中包含所有join列,或者join列包含所有groupby,(group by和join列都可以无序)
* </pre>
*/
private static boolean canChooseSortMerge(JoinNode node) {
List<ISelectable> columns = node.isLeftOuterJoin() ? node.getRightKeys() : node.getLeftKeys();
// 先判断group,判断排序条件是否满足
// 再判断order
return match(node.getGroupBys(), columns, false) || match(node.getImplicitOrderBys(), columns, true);
}