• PostgreSQL在何处处理 sql查询之六十六


    继续分析

    /*
     * final_cost_hashjoin
     *      Final estimate of the cost and result size of a hashjoin path.
     *
     * Note: the numbatches estimate is also saved into 'path' for use later
     *
     * 'path' is already filled in except for the rows and cost fields and
     *        num_batches
     * 'workspace' is the result from initial_cost_hashjoin
     * 'sjinfo' is extra info about the join for selectivity estimation
     * 'semifactors' contains valid data if path->jointype is SEMI or ANTI
     */
    void
    final_cost_hashjoin(PlannerInfo *root, HashPath *path,
                        JoinCostWorkspace *workspace,
                        SpecialJoinInfo *sjinfo,
                        SemiAntiJoinFactors *semifactors)
    {
        Path       *outer_path = path->jpath.outerjoinpath;
        Path       *inner_path = path->jpath.innerjoinpath;
        double        outer_path_rows = outer_path->rows;
        double        inner_path_rows = inner_path->rows;
        List       *hashclauses = path->path_hashclauses;
        Cost        startup_cost = workspace->startup_cost;
        Cost        run_cost = workspace->run_cost;
        int            numbuckets = workspace->numbuckets;
        int            numbatches = workspace->numbatches;
        Cost        cpu_per_tuple;
        QualCost    hash_qual_cost;
        QualCost    qp_qual_cost;
        double        hashjointuples;
        double        virtualbuckets;
        Selectivity innerbucketsize;
        ListCell   *hcl;

    ...
    qp_qual_cost.startup -= hash_qual_cost.startup;
    qp_qual_cost.per_tuple -= hash_qual_cost.per_tuple;
    ...
    }
  • 相关阅读:
    06springmvc文件上传
    07springmvc文件下载
    05springmvc-json-ajax使用
    04springmvc请路径参数
    03springmvc项目使用静态资源
    02springmvc注解入门
    springmvc入门
    20mybatis集成jndi
    19mybatis集成dbcp
    怎样用hibernate验证登陆界面的用户名和密码
  • 原文地址:https://www.cnblogs.com/gaojian/p/3134431.html
Copyright © 2020-2023  润新知