zoukankan      html  css  js  c++  java
  • SQL Tuning 基础概述04

    Tables

    A table describes an entity such as employees. You define a table with a table name, such as employees, and set of columns. In general, you give each column a name, a data type, and a width when you create the table.  

    1.普通堆表(Heap-Organized Tables)  

    适用所有场景,特定场景下的应用有性能上的瓶颈,此时需要根据具体场景选用其他类型的表来替代。  

    2.全局临时表(Temporary Tables)  

    Oracle Database temporary tables hold data that exists only for the duration of a transaction or session.    

    优点:  

    ①insert、update、delete操作产生的redo比普通表要少;  

    ②自动删除数据时不产生redo;  

    ③基于会话隔离。    

    缺点:  由于删除数据不产生redo的优点,相对衍生出数据不能有效保护的缺点。  

    3.分区表(Partitioned Tables)  

    常用的分区类型:Range,List,Range-List,Range-Hash    

    优点:  

    ①分区消除:前提是可以合理用到分区条件;  

    ②历史数据快速清理:alter table t truncate partition p1;。    

    缺点:  

    ①过多分区也会加大系统开销,一般来讲,百万数据级别以上的表才考虑是否分区。  

    ②过多分区也带来分区维护上的工作量。  

    4.索引组织表(Index-Organized Tables)  

    表本身就是索引,索引本身就是表。适合很少更新的配置表。    

    优点:   消除回表,适用极少更新的配置表。    

    缺点:   由于结构特殊性,更新开销很大。

    5.簇表(Table Cluster)  

    优点:   有序簇表可以消除order by排序。    

    缺点:   由于结构特殊性,更新开销很大。同时由于排序列建立索引也可以消除排除,所以簇表的应用场景很少。

    6.外部表(External Tables)  

    数据库中只有表结构的定义,真正的数据并未存储在数据库中,一般应用在加载数据的场景。  

    参考书籍: 《收货,不止Oracle》 《涂抹Oracle》 《Concepts》

  • 相关阅读:
    Markdown学习笔记
    带下划线点域名解析失败
    前端工程师学习之路
    Java 调用 WebService 客户端代码 含通过代理调用
    MySQL 日期函数 时间函数 总结 (MySQL 5_X)
    Apache、Tomcat整合环境搭建
    201671010142 <java程序设计>初次学习心得与感悟
    201671010142 Java基本程序设计结构学习的感悟
    201671010142.第五章的学习总结
    201671010142 继承定义与使用 感悟与总结
  • 原文地址:https://www.cnblogs.com/jyzhao/p/3930546.html
Copyright © 2011-2022 走看看