知识大全 ETL的过程原理和数据仓库建设[2]

Posted 过程

篇首语:归志宁无五亩园,读书本意在元元。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ETL的过程原理和数据仓库建设[2]相关的知识,希望对你有一定的参考价值。

ETL的过程原理和数据仓库建设[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   数据抽取和上载时的SQL优化

   WHERE子句中的连接顺序

  ORACLE采用自下而上的顺序解析WHERE子句 根据这个原理 表之间的连接必须写在其它WHERE条件之前 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾

  低效 SELECT * FROM EMP E WHERE SAL > AND JOB = MANAGER AND < (SELECT COUNT(*) FROM EMP WHERE MGR=E EMPNO);

  高效 SELECT * FROM EMP E WHERE < (SELECT COUNT(*) FROM EMP WHERE MGR=E EMPNO) AND SAL > AND JOB = MANAGER ;

   删除全表时用TRUNCATE替代DELETE

  当DELETE删除表中的记录时 有回滚段(rollback segments ) 用来存放可以被恢复的信息 而当运用TRUNCATE时 回滚段不再存放任何可被恢复的信息 所以执行时间也会很短 同时需要注意TRUNCATE只在删除全表时适用 因为TRUNCATE是DDL而不是DML

   尽量多使用MIT

  ETL中同一个过程的数据操作步骤很多 数据仓库采用的是数据抽取后分析模型重算的原理 所以对数据的MIT不像业务系统为保证数据的完整和一致性而需要某个操作过程全部完成才能进行 只要有可能就在程序中对每个DELETE INSERT和UPDATE操作尽量多使用MIT 这样系统性能会因为MIT所释放的资源而大大提高

   用EXISTS替代IN

  在许多基于基础表的查询中 为了满足一个条件往往需要对另一个表进行联接 例如在ETL过程写数据到模型时经常需要关联 个左右的维表 在这种情况下 使用EXISTS而不用IN将提高查询的效率

   用NOT EXISTS替代NOT IN

  子查询中 NOT IN子句将执行一个内部的排序和合并 无论在哪种情况下 NOT IN都是最低效的 因为它对子查询中的表执行了一个全表遍历 用NOT EXISTS替代NOT IN将提高查询的效率

   优化GROUP BY

  提高GROUP BY 语句的效率 可以通过将不需要的记录在GROUP BY 之前过滤掉

  低效 SELECT JOB AVG(SAL) FROM EMP GROUP BY JOB HAVING JOB = PRESIDENT OR JOB = MANAGER

  高效 SELECT JOB AVG(SAL) FROM EMP WHERE JOB = PRESIDENT OR JOB = MANAGER GROUP BY JOB

   有条件的使用UNION ALL 替换UNION

  ETL过程针对多表连接操作的情况很多 有条件的使用UNION ALL 替换UNION的前提是 所连接的各个表中无主关键字相同的记录 因为UNION ALL 将重复输出两个结果集合中相同记录

  当SQL语句需要UNION两个查询结果集合时 这两个结果集合会以UNION ALL的方式被合并 然后在输出最终结果前进行排序 如果用UNION ALL替代UNION 这样排序就不是必要了 效率就会因此得到提高 倍

   分离表和索引

  总是将你的表和索引建立在不同的表空间内 决不要将不属于ORACLE内部系统的对象存放到SYSTEM表空间里 同时确保数据表空间和索引表空间置与不同的硬盘控制卡控制的硬盘上

cha138/Article/program/SQL/201311/16217

相关参考

知识大全 深入探讨数据仓库建模与ETL的实践技巧[2]

深入探讨数据仓库建模与ETL的实践技巧[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  (二

知识大全 深入探讨数据仓库建模与ETL的实践技巧[4]

深入探讨数据仓库建模与ETL的实践技巧[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  缓慢

知识大全 深入探讨数据仓库建模与ETL的实践技巧[3]

深入探讨数据仓库建模与ETL的实践技巧[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这里

知识大全 深入探讨数据仓库建模与ETL的实践技巧[1]

深入探讨数据仓库建模与ETL的实践技巧[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这篇

知识大全 深入探讨数据仓库建模与ETL的实践技巧[6]

深入探讨数据仓库建模与ETL的实践技巧[6]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  (三

知识大全 深入探讨数据仓库建模与ETL的实践技巧[5]

深入探讨数据仓库建模与ETL的实践技巧[5]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ET

知识大全 数据抽取、清洗与转换及BI项目中ETL设计[2]

数据抽取、清洗与转换及BI项目中ETL设计[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 数据仓库与数据挖掘视频教程简介

一课程简介  定价¥  本视频课程共课时主要讲述了数据仓库(DW)和数据挖掘(DM)的基本方法基本原理重点说明这些方法的主要思想和技术在数据仓库部分不仅全面深入地介绍了基本概念和体系结构而且详细阐述了

知识大全 数据仓库开发过程中的七个禁忌

  过去我们一直使用的OLTP技术也许隐藏着许多严重的缺陷数据仓库的实现并不是一个简单的任务你会发现以前积累下来的丰富经验并不适合处理每个数据仓库的独特需求    下面列出的条款是你在实现数据仓库过程

知识大全 高效实现数据仓库的七个步骤

  数据仓库和我们常见的RDBMS系统有些亲缘关系但它又有所不同如果你没有实施过数据仓库那么从设定目标到给出设计从创建数据结构到编写数据分析程序再到面对挑剔的用户的评估整个过程都会带给你一种与以往的项