zoukankan      html  css  js  c++  java
  • <海量数据库解决方案>2011051901

    【摘抄】

    表连接的最优化方案

    表连接,这里指狭义的JOIN,是连接数据的最基本方法。

    表连接方式:
    A、嵌套循环表连接NESTED LOOPS
        既是最传统的表连接方式,也是最普遍的表连接方式
        通过优先权限处理某个集合来从中获取常量值,并利用该常量值去对应的集合中查找满足连接条件的对应行,所连接数量的多少会随着表连接顺序的不同而不同。
        特征:
            次序性
            先行性
            从属性
            选择性
            连接条件的状态,方向性
            允许局部范围扫描
            过滤查询条件的影响
       
        为了决定表连接的顺序,首先先应当做的是,在执行表连接的诸表中寻找位于最下层的集合。
    B、排序合并表连接SORT MERGE
        最大特征:
            即使不从对应集合中获取任何值,也能够只凭借自身所具有的条件实现决定查询范围的目的
            它能够在很大程度上减少随机读取次数
            始终按照全部范围扫描的方式进行处理
           
    C、哈希连接Hash Join
        最大好处:摆脱了对海量数据处理造成最大负担的随机读取和排序操作。
       
        随机读取的代价主要是指:在最坏的情况下,为了读取一行数据而需要从磁盘中将整个数据块全部读入。
        排序操作的代价,指对内存造成了很大的负担。小内存大排序。
       
        Build Input
            将为了连接而提前执行的读取准备操作
        Probe Input
            在后来读取的同时,所执行的连接操作
       
        In-MEMORY哈希连接,在连接过程中完全没有必要使用已经创建了的索引。再次允许局部范围扫描
        延迟哈希连接,在连接过程中完全没有必要使用已经创建了的索引。但不允许局部范围扫描

    D、半连接Semi Join
    指与表连接非常相似的一种数据连接方法。即在使用了子查询的情况下,所实现的子查询与主查询之间的连接

    表连接和子查询最本质的区别就在于集合间的从属性上。集合之间的交换律是否成立

        半连接的执行计划:
        1、嵌套循环型半连接
        2、排序合并型半连接
        3、过滤型半连接
            常用关键字:Exists
        4、哈希(Hash)半连接
        5、ANTI半连接:指在连接条件中使用Not的连接类型
       
    E、星型(Star)连接
        关键字:笛卡尔积
        可想象下有多大的数据集

    F、星变形(Star Transformation)连接
        星变形连接可以使用位图索引

    G、位图连接索引
        如何理解这个名词:最简单的方法就是将连接所得结果集合视为一个一般的表,然后再将位图连接索引视为是基于该表的列而创建的位图索引。
       
       
       
      

    无论生活、还是技术,一切都不断的学习和更新~~~努力~
  • 相关阅读:
    响应式开发
    css3的2D和3D的转换
    前端CSS3笔记
    DOM精简版笔记
    JS进阶
    linux 修改时间同步到BIOS
    linux-设置代理和取消代理
    linux-rpm强制安装跳过依赖包
    [linux] VNC the connection was refused by the computer
    Linux vim 常用命令(不定时update)
  • 原文地址:https://www.cnblogs.com/GoGoagg/p/2050722.html
Copyright © 2011-2022 走看看