表压缩的概念
表压缩的概念 该图片显示了压缩表中的数据块的演化过程,应按从左到右的顺序阅读。开始的时候,该数据块是空的,可以插入数据。开始在此块中插入数据时,数据以未压缩的格式存储(就像在未压缩的表中一样)。但是,只要到达了该块的PCTFREE,数据将被自动压缩,以减少其原来占据的空间。这样一来,可以在相同的块中插入新的未压缩数据,直到再一次到达PCTFREE。此时会再一次触发压缩以减少块中的占用空间。 注:压缩可以消除删除操作造成的空隙,最大化块中的连续空闲空间。
使用表压缩 数据库兼容级别需要在11.1 或更高 新的语法扩展了COMPRESS关键字: COMPRESS [FOR{ALL" DIRECT_LOAD} OPERATIONS] FOR DIRECT_LOAD是默认值:引用以前版本中的批量装载操作 FOR ALL OPERATIONS:OLTP + 直接装载 对新表启用压缩: CREATE TABLE t1 COMPRESS FOR ALL OPERATIONS; 对现有的表启用压缩: ALTER TABLE t2 COMPRESS FOR ALL OPERATIONS; 对现有的行不触发压缩
使用表压缩 要使用新的压缩算法,必须使用COMPRESS FOR ALL OPERATIONS子句标记表。可以在创建表时或在创建表之后执行此操作。幻灯片中的示例演示了此操作。如果使用COMPRESS子句但没有指定任何FOR选项,或者使用COMPRESS FOR DIRECT_LOAD OPERATIONS子句,则将退回到以前版本中提供的旧压缩机制。也可以在分区级别或表空间级别启用压缩。例如,可以使用CREATE TABLESPACE命令的DEFAULT存储子句,根据需要指定COMPRESS FOR子句。 注:可以使用DBA_TABLES和DBA_TAB_PARTITIONS等视图中的COMPRESS列和COMPRESS_FOR列查看表的压缩标志。
SQL 访问指导:概览
SQL 访问指导:概览 如何定义适当的访问结构以优化SQL 查询一直是Oracle DBA 关心的问题。因此,为了解决该问题,相关人员已经写了大量的论文和脚本,还开发了一些高端工具。此外,随着分区和实体化视图技术的发展,确定访问结构也变得更加复杂。 作为Oracle Database 10g 和11g中的可管理性增强功能,引入了SQL 访问指导来解决这个非常关键的需求。 SQL 访问指导可以推荐要创建、删除或保留的索引、实体化视图、实体化视图日志或分区,从而确定并帮助解决与执行SQL 语句相关的性能问题。可以从Database Control 或者从命令行使用PL/SQL 过程来运行SQL 访问指导。 SQL 访问指导将输入实际工作量,或者根据方案导出一个假想工作量。然后,它会推荐速度较快的执行路径的访问结构。SQL 访问指导具有以下优点: 不需要拥有专业知识 根据基于成本的优化程序中实际存在的规则做决定 与优化程序以及Oracle DB 增强功能同步 是涵盖SQl 访问方法所有方面的单个指导 提供用户友好的简单GUI 向导 生成可用于实施建议案的脚本
SQL 访问指导:使用模型 SQL 访问指导将输入一个从多个来源派生出来的工作量: SQL 高速缓存,采用V$SQL的当前内容 假想工作量,根据维模型生成一个可能工作量。在初次设计系统时,这个选项比较有用 SQL 优化集,来自工作量资料档案库 SQL 访问指导还提供强大的工作量过滤功能,可用于确定优化目标。例如,用户可以指定SQL 访问指导只观察工作量中30 个资源最密集的语句(根据优化程序开销确定)。对于指定的工作量,SQL 访问指导随后会执行以下操作: 同时考虑索引解决方案、实体化视图解决方案、分区解决方案或者全部三个解决方案的组合 考虑存储的创建和维护成本 不为部分工作量生成删除建议案 优化实体化视图以最大化查询重写使用率和快速刷新 建议用于快速刷新的实体化视图日志 建议对表、索引和实体化视图进行分区 将类似的索引组合为单个索引 生成支持多个工作量查询的建议案
可能的建议案
可能的建议案 SQL 访问指导会仔细考虑建议案的整体影响,并仅使用已知的工作量和提供的信息生成建议案。可以使用两种工作量分析方法: 全面:SQL 访问指导通过这种方法解决优化分区、实体化视图、索引和实体化视图日志的所有方面。SQL 访问指导假定工作量包含一个完整的有代表性的应用程序SQL 语句集。 有限:与全面的工作量方法不同,有限的工作量方法假定工作量仅包含有问题的SQL 语句。因此,将寻求提高一部分应用程序环境性能的建议。 如果选择了全面的工作量分析,则SQL 访问指导将生成一个较好的全局优化调整集,但所需分析时间会比较长。如表中所示,选择的工作量方法可决定SQL 访问指导生成的建议案类型。 注:分区建议案仅对至少包含10,000行的表以及在NUMBER或DATE类型的列上有一些谓词或联接的工作量有效。只能针对这些类型的列生成分区建议。此外,只能为单列间隔分区和散列分区生成分区建议。间隔分区建议案可作为范围语法输出,但间隔是默认值。执行散列分区只是为了利用智能化分区联接。
SQL 访问指导会话:初始选项
SQL 访问指导会话:初始选项 接下来的几张幻灯片将介绍一个典型的SQL 访问指导会话。可以通过数据库主页上的“Advisor Central(指导中心)”链接访问SQL 访问指导向导,也可以通过单个预警页或性能页进行访问,这些页可能包含用于简化性能问题解决过程的链接。SQL 访问指导向导包括多个步骤,可在执行这些步骤的过程中提供要优化的SQL 语句,以及要使用的访问方法类型。 使用“SQL Access Advisor: Initial Options(SQL 访问指导:初始选项)”页可以选择在启动向导前用来植入默认选项的模板或任务。可以单击“Continue(继续)”启动向导,或者单击“Cancel(取消)”返回到“Advisor Central(指导中心)”页。 注:在生成建议案的过程中,SQL 访问向导可能会中断,从而允许您复查结果。
如果在“Initial Options(初始选项)”页上选择了“Inherit Options from a Tas