`
BucketLi
  • 浏览: 190875 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
5a76a659-f8e6-3bf3-b39a-8ae8f7a0f9d9
Percolator与分布...
浏览量:5570
社区版块
存档分类
最新评论

并行全表扫描oracle表

 
阅读更多
有时候,我们全量dump oracle中的数据,如何才能让dump高效的执行呢?这个问题的关注点在于1.磁盘顺序读.2.并行.前者要需要oracle本身提供数据能够基本顺序并且程序并行扫描一段数据能够一次性取一批,后者由dump程序保证。

提供下oracle rowid分段的sql,程序就是用多线程扫描每一段数据,这里就不提供了。
select group_id,min(chartorowid(min_rowid)) min_rowid, max(chartorowid(max_rowid)) max_rowid
  from (select T.min_rowid,
               T.max_rowid,
               T.Relative_Fno,
               NTILE(分的段数) over(order by T.Relative_Fno,chartorowid(T.min_rowid)) group_id          
               from (select dbms_rowid.rowid_create(1,
                                               B.data_object_id,
                                               A.relative_fno,
                                               A.block_id,
                                               0) min_rowid,
                       dbms_rowid.rowid_create(1,
                                               B.data_object_id,
                                               A.relative_fno,
                                               A.block_id + A.blocks - 1,
                                               10000) max_rowid,A.Relative_Fno
                  from (select relative_fno, block_id, blocks
                          from sys.dba_extents
                         where segment_name = '表名'                           
                         and owner = '表的所有用户'                         
                         order by block_id) A,
                       (select data_object_id
                          from sys.DBA_objects
                         where owner = '表的所有用户'                           
                         and object_name = '表名') B
                 where B.data_object_id IS NOT NULL) T)
 group by group_id;
分享到:
评论

相关推荐

    oracle的Parallel_并行技术案例详解

    并行查询通常用于全表扫描、索引全扫描、大表的扫描和连接、创建大的索引、分区索引扫描、大批量插入更新和删除等操作。 启用并行查询可以通过 ALTER TABLE 语句或使用 Hints 提示,例如: SQL> ALTER TABLE T1 ...

    oracle动态性能表

     table scans (blocks gotten):全表扫描中读取的总块数,不包括那些split的列。  user commits + user rollbacks:系统事务起用次数。当需要计算其它统计中每项事务比率时该项可以被做为除数。例如,计算事务中...

    ORACLE9i_优化设计与系统调整

    §13.1.6 避免全表扫描 163 §13.1.7 编写避免使用索引的语句 163 §13.1.8 编写使用索引的语句 164 §13.1.9 重新构造索引 164 §13.1.10 压缩索引 165 §13.2 创建索引和使用索引 165 §13.2.1 使用函数索引 165 ...

    ORACLE-SQL性能优化(内部培训资料).docx

    全表扫描是顺序地访问表中每条记录,ORACLE 采用一次读入多个数据块的方式优化全表扫描。 通过 ROWID 访问表可以提高访问表的效率,ROWID 包含了表中记录的物理位置信息。ORACLE 采用索引(INDEX)实现了数据和存放...

    大数据时代下Oracle数据库在汽车制造业MIS系统中的应用.pdf

    通过Oracle的压缩技术,可以将汽车制造业MIS系统中的数据表如人事信息表进行压缩,在进行全表扫描需要读取的数据库会减少,这样磁盘IO便会减少,显然有利于查询快速完成。同样的,一些庞大的信息表,如生产表、产品...

    ORACLE中的的HINT详解

    3) 表的访问路径,是全表扫描,还是索引扫描,还是直接利用rowid。  4) 表之间的连接类型  5) 表之间的连接顺序  6) 语句的并行程度  2、HINT可以基于以下规则产生作用  表连接的顺序、表连接的方法、访问...

    Oracle使用强制索引的方法与注意事项

    可以看到,是走的全表扫描。 使用强制索引,在SELECT 后面加上/*…….*/ 中间加上索引的属性,代码如下: SELECT /*+index(t pk_emp)*/* FROM EMP T --强制索引,/*.....*/第一个星星后不能有空格,里边内容结构为...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    3.1.1 如何选择全扫描操作 56 3.1.2 全扫描与舍弃 59 3.1.3 全扫描与多块读取 60 3.1.4 全扫描与高水位线 60 3.2 索引扫描访问方法 65 3.2.1 索引结构 66 3.2.2 索引扫描类型 68 3.2.3 索引唯一扫描 71 ...

    Oracle DBA突击帮你赢得一份DBA职位(完全高清版)1

    6.2 单表访问——全表扫描还是索引 6.3 连接  6.4 半连接  6.5 小结  第7章 并行操作  7.1 并行架构  7.2 启用并行处理  7.3 解读执行计划  7.4 等待事件 7.5 小结  第8章 自动管理和性能指标  ...

    深入解析Oracle.DBA入门进阶与诊断案例

    10.3.6 创建新的索引以消除全表扫描 494 10.3.7 观察系统状况 494 10.3.8 性能何以提高 495 10.3.9 小结 497 10.4 使用SQL_TRACE/10046事件进行数据库诊断 497 10.4.1 SQL_TRACE及10046事件的基础介绍 ...

    ORACLE必学

    初学必备Parallel 用来指定为加速该表的全表扫描可以使用的并行查询进程个数. Cache 用来指定该表为最应该缓存在SGA数据库缓冲池中的候选项. Cluster 用来指定该表所存储的 cluster. Tablespace 用来指定用数据库的...

    Oracle9i的init.ora参数中文说明

    则需要进行全表扫描, 以便将数据按照所定义的语言排序进行整理。 值范围: BINARY 或有效的语言定义名。 默认值: 从 NLS_LANGUAGE 中获得 nls_territory: 说明: 为以下各项指定命名约定, 包括日期和星期的编号, ...

    (E文)基于成本的Oracle优化法则.pdf

    第2章 表扫描 9 2.1 入门 10 2.2 提高 14 2.2.1 块大小的影响 14 2.2.2 CPU成本计算 16 2.2.3 CPU成本计算的作用 22 2.3 BCHR 24 2.4 并行执行 27 2.5 索引快速全扫描 30 2.6 分区 32 2.7 本章小结 37 2.8 测试用例 ...

    SQL性能优化

     以上两个SQL中dy_dj(电压等级)及xh_bz(销户标志)两个字段都没进行索引,所以执行的时候都是全表扫描,第一条SQL的dy_dj = '1KV以下'条件在记录集内比率为99%,而xh_bz=1的比率只为0.5%,在进行第一条SQL的...

    收获不止SQL优化

    1.3.1 和并行等待有关的案例 18 1.3.2 和热块竞争有关的案例 19 1.3.3 和日志等待有关的案例 20 1.3.4 新疆某系统的前台优化 20 1.3.5 浙江某系统的调优案例 21 1.4 本章总结延伸与习题 21 1.4.1 总结延伸 21...

Global site tag (gtag.js) - Google Analytics