开发者社区 问答 正文

通过FindBestQueryPlan函数来实现新优化器的入口。的具体逻辑是?

通过FindBestQueryPlan函数来实现新优化器的入口。的具体逻辑是?

展开
收起
我也不知道取啥名字 2022-05-08 19:41:32 298 分享
分享
版权
来自: 阿里技术 举报
1 条回答
写回答
取消 提交回答
  • 1、先判断是否属于新优化器可以支持的Query语法(CheckSupportedQuery),不支持的直接返回错误ER_HYPERGRAPH_NOT_SUPPORTED_YET。 2、转化top_join_list变成JoinHypergraph结构。 3、通过EnumerateAllConnectedPartitions实现论文中的DPhyp算法。 4、CostingReceiver类包含了过去JOIN planning的主要逻辑,包括根据cost选择相应的访问路径,根据DPhyp生成的子计划进行评估,保留cost最小的子计划。 5、得到root_path后,接下来处理group/agg/having/sort/limit。

    2022-05-08 23:31:51 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等