zoukankan      html  css  js  c++  java
  • Optimizer in SQL

    SELECT sum(v)
    FROM (
        SELECT score.id, 100+80+score.math_score+ score.english_score AS v
        FROM people JOIN score
        WHERE people.id = score.id
        AND people.age > 10
    ) tmp


    谓词下推(Predicate Pushdown)
    【join前对待join的表通过列值条件进行行过滤,减少之后join时表行数】
    系统在扫描数据的时候就对数据进行了过滤,参与join的数据量将会得到显著的减少,join耗时必然也会降低

    常量累加(Constant Folding)
    【计算一次,再参与后续计算】


    列值裁剪(Column Pruning)
    【阶段有用的列,使用后,不再参与后续计算,及时抛弃】
    people.age age Column 列对于之后的计算没有贡献,参与后续计算的仅有people.id  id Column 列

    http://www.waitingforcode.com/apache-spark-sql/catalyst-optimizer-in-spark-sql/read

    http://blog.csdn.net/lw_ghy/article/details/60778157

    【生成引用ID】

    【先单表扫描过滤,之后表连接】

  • 相关阅读:
    Android Studio连接真机
    day 4 __all__ 包 __init__.py
    day1 创建X00001文件1K
    day 3 模块
    day 2 异常传递 ,抛出
    day 1 异常基本功能
    day 7 __new___
    day 6 汽车4S店铺
    day 5 多态 类 静态
    day 4 继承
  • 原文地址:https://www.cnblogs.com/rsapaper/p/7652666.html
Copyright © 2011-2022 走看看