`
longgangbai
  • 浏览: 7331109 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle 性能调优学习笔记(十四)-- 有效使用Oracle 存储结构

 
阅读更多

有效使用Oracle 存储结构
       表的种类: heap table,cluster table, IOT table,partition table;
       选择适当物理结构的影响因子
         1.查询或DML语句.
      2.表大小.
      3.行大小,row分组,block size.
      4.事物的大小
      5.并行查询.
       数据访问方式:
        1.索引
     2.B-Tre
     3.BitMap
     4.基于函数
     5.IOT
     6.cluster表.
    index cluster表的使用:
    1.create cluster mycluster (deptno number(2)) size 1024;
    
    2.create index myc_idx on cluster mycluster;
    3.create table deptInfo
      (
        deptid number(2) primary key,
     ename varchar(20) ,sal number,
     deptno number(2) references deptInfo(deptid)
       )cluster mycluster(deptno)
     /
     先读索引,在读数据.
    Hash clustered Tables
    1.create cluster hc(hk number) hashkeys 1000 size 8192;
    备注:hash的key的大小.
         size:hash的大小.
       hash 索引使用于等号的查询.
      
    分区表
     范围分区(Range Partition)
         create table sales(
       acct_no number(5),
       week_no number(2))
      partition by range(week_no)
      (
        partition p1 values less than (4) tablespace tbs1,
        partition p2 values less than (8) tablespace tbs2,
        partition p3 values less than (12) tablespace tbs4,
        .......................................
        partition p4 values less than (16) tablespace tbs5     
      )
      备份:1.分区键week_no
        2.子分区的表空间可以不一样.
        3.分区的各分区的大小一样.
      create tablespace tbs
        datafile ''
        size 200M
        extent management local uniform
        segment space management auto;
      
      创建分区
      create table range1
      (
        rk date,
        data,varchar(20)
      )
      partition by range(rk)
      (
         partition p1 less than (to_date('2011-12-31','yyyy-mm-dd')) tablespace train,
         partition p2 less than (to_date('2012-12-31','yyyy-mm-dd')) tablespace train1
      )
      查询分区信息
      select segment_name,partition_name,segment_type,tablespace_name from user_segments;
      查询分区数据
      select * from range1 partition(p1);
      修改分区
         alter table rang1
       add partition
       p3 values less than (maxvalue)  tablespace train;
       
     Hash分区(Hash Partition)
      create table empt
       (empno int,
        ename varchar(20)
        )
        partition by hash(empno)
        (
         partition p1 tablespace ts1,
         partition p2 tablespace ts2
        );
        建议分区的个数为幂数(2的n次幂数)个.
          数据分布通过分区键实现无法控制.
        当数据磁盘或者分区有问题.使用带分区的查看分区
        select * from empt partition(p1);
       
       
       
     List分区(List Partition)
        create table locations
        (location_id,
         street_address,
      state_province
      )storage(
        initial 10k
        next 20k
      )
      tablespace users
      partition  by list(state_province)
      (
         partition region_east values('MA','MY') tablespace tbs1,
         partition region_west values('CA','CK') tablespace tbs2,
         partition region_south values('QA','QY') tablespace tbs1,
         partition region_south values('KA','KY') tablespace tbs2,
         partition p3 values(default)
      );
      
      备注list 分区有default的,添加分区不容易.
     
     Composite分区(Compsite Partition)
      并行DML操作提高性能.
      支持本地组合索引.
       create table table1
       (
        range_key date,
        hash_key int,
        data varchar(20)
       )partition by range(range_key)
       subpartition by hash(hash_key) subpartitions 2
       (
        partition p1 values less than (to_date('2011-01-01','yyyy-mm-dd'))
         (
        subpartition h1,
        subpartition h2
         ),
         partition p2 values less than (to_date('2012-01-01','yyyy-mm-dd'))
         (
        subpartition h11,
        subpartition h22
         )
       );
     
            select segment_name,partition_name,segment_type from user_segments;
     
     
   分区索引
      本地索引
      create index local_idx01 on range1(a,b) local;
      分区索引
        create index gp_idx on range1(b) global
         partition by range(b)
         (
        partition idx1 values less than (1000),
        partition idx2 values less than (2000),
        partition idx3 values less than (maxvalue)
         );
        
                  select object_name,object_type from user_objects;
      
   收集统计分区信息       
        dbms_stats.gather_table_stats(
        ownname=>'',
     tabname=>'',
     partitionname=>'',
     granularity=>''
     );
   收集索引分区信息
        dbms_stats.gather_index_stats(
        ownname=>'',
     indexname=>'',
     partitionname=>''
     );   

分享到:
评论

相关推荐

    Oracle DBA性能调优学习笔记

    针对“Oracle DBA性能调优学习笔记”这一主题,我们可以提取并解释出以下重点知识。 首先,性能调优是一个多角色参与的过程。不仅DBA需要参与,应用架构师、应用设计师、应用开发人员以及OS和存储系统管理员也同样...

    ORACLE DBA工作笔记 运维数据迁移与性能调优

    标题中提到的“ORACLE DBA工作笔记 运维数据迁移与性能调优”揭示了这本书籍主要围绕着Oracle数据库管理员(DBA)在日常工作中经常需要进行的两项关键任务:数据迁移和性能调优。作为一名Oracle DBA,不仅要负责...

    Oracle性能调优

    本资料集是作者精心整理的Oracle调优笔记,涵盖了一系列实用的调优技巧和工具,旨在帮助读者理解和实践Oracle数据库的性能优化。 1. **SQL优化**:SQL查询是数据库性能的关键。优化SQL语句可以显著提升性能,包括...

    成功之路:Oracle11g学习笔记.pdf

    在介绍Oracle系统管理的知识以后,将介绍与开发相关的内容(如PL/SQL基础知识、存储过程、函数、包等),并介绍数据库性能调整,《成功之路:Oracle 11g学习笔记》重点介绍SQL语句调优。SQL语句调优是《成功之路:Oracle...

    ORACLE性能调优

    Oracle性能调优是数据库管理员和开发人员在处理Oracle数据库系统时必须掌握的关键技能。这个主题涵盖了广泛的知识点,包括查询优化、内存管理、磁盘I/O优化、并发控制以及资源调度等多个方面。以下是对这些核心概念...

    李兴华ORACLE笔记[2014-8-11]

    这份笔记涵盖的内容可能包括Oracle数据库系统的各个方面,如数据库管理、SQL查询优化、存储结构、性能调优、故障排查等关键知识点。 首先,Oracle数据库管理系统是全球广泛使用的大型关系型数据库之一,尤其在企业...

    Oracle学习笔记精华版

    笔记可能涉及索引的创建和管理、SQL调优(如使用EXPLAIN PLAN分析查询执行计划)、数据库统计信息的收集、存储优化以及使用Oracle的性能监控工具(如AWR和ASH报告)。 此外,Oracle的安全管理包括用户权限管理、...

    玩转oracle学习笔记(四)-数据库操作

    这篇笔记主要聚焦于"玩转Oracle学习笔记(四)",作者通过文档分享了他在数据库管理、查询优化、数据处理等方面的经验。以下是对这些知识点的详细解析: 1. 数据库创建与连接: - Oracle数据库的安装与配置:学习...

    我的Oracle 11g OCP学习笔记

    本学习笔记详细记录了作者在准备Oracle 11g OCP认证过程中的学习心得和实践经验,对于希望深入理解Oracle数据库管理和优化的读者来说,是一份宝贵的资料。 Oracle 11g包含了许多重要的特性和改进,例如: 1. **...

    最牛逼的Oracle 11g OCP学习笔记

    以下是对这份"最牛逼的Oracle 11g OCP学习笔记"中的关键知识点的详细阐述: 一、Oracle 11g基础知识 Oracle 11g引入了许多新特性,如自动内存管理、数据屏蔽、实时应用集群(RAC)、闪回数据库等。其中,自动内存管理...

    老相Oracle DBA学习笔记

    Oracle数据库管理员(DBA)学习笔记详细记录了Oracle数据库中SQL语句执行的过程,包括用户连接、服务器进程分配、PGA空间、SQL解析、执行计划缓存、shared pool、buffer cache、逻辑IO和物理IO、重做日志等关键知识...

    Oracle11g学习笔记

    总结来说,"Oracle11g学习笔记"将引导你全面掌握Oracle11g数据库管理系统,从基础操作到高级应用,从数据库设计到性能优化,从安全管理到高可用性实践,为你的IT事业打下坚实基础。通过阅读这个PDF文档,你将能够...

    玩转oracle学习笔记(三)-Oracle操作

    在Oracle数据库的世界里,"玩转Oracle学习笔记(三)-Oracle操作"主要涵盖了数据库的管理和操作方面的知识。这篇笔记可能是博主韩顺平分享的一系列Oracle学习教程中的第三部分,通过阅读他的博客文章(博文链接:...

    玩转oracle学习笔记(一)-Oracle管理

    《玩转Oracle学习笔记(一)——Oracle管理》是一篇深入浅出的Oracle数据库管理教程,博主bijian1013在文中详细介绍了Oracle数据库的基础知识以及管理技巧。Oracle作为全球广泛使用的数据库管理系统,其管理和优化是IT...

    Oracle 全部学习笔记 培训结构的学习资料.

    这个“Oracle全部学习笔记培训结构的学习资料”压缩包文件包含了深入学习Oracle所需的各种材料,对于想要掌握Oracle技术的人来说是一份宝贵的资源。 1. **Oracle基础知识** - 数据库概念:了解数据库的基本概念,...

    oracle学习笔记 oracle学习方法 韩顺平视屏

    以下是对Oracle学习笔记和相关知识点的详细解析: 1. **基础概念与术语** - **SQL**:Structured Query Language,用于管理和处理关系数据库的标准语言。 - **RDBMS**:关系数据库管理系统,Oracle便是其中的代表...

    Oracle 性能与调整学习笔记

    本学习笔记主要涵盖调优步骤、调优目标、报警日志和追踪文件、实用工具以及动态性能视图等方面。 首先,调优步骤包括设计调优、应用程序调优、内存调优、I/O调优、冲突调优以及操作系统调优。设计调优涉及数据库...

    ORACLE调优笔记

    ### ORACLE调优笔记知识点详解 #### 一、Oracle错误代码与解决方法 在Oracle数据库管理及优化过程中,经常会遇到一些常见的错误代码,这些错误往往能够帮助我们快速定位问题所在。 1. **ORA-01652: 无法分配临时...

    Oracle 超强学习笔记

    通过"Oracle超强学习笔记"的深入学习,你将能够全面掌握Oracle数据库的使用和管理,无论你是初学者还是经验丰富的专业人士,都能从中受益匪浅。在实际操作中不断实践,逐步提升你的Oracle技术水平,成为一名优秀的...

Global site tag (gtag.js) - Google Analytics