`
zhanglu0223
  • 浏览: 22699 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

数据库性能优化2——使用CLUSTER降低关联查询的IO

 
阅读更多

表簇(table cluster)是一个数据库对象,它可以将那些经常在相同数据块中一起使用的表进行物理分组。当你处理那些经常连接在一起进行查询的表时,表簇是特别有效的。一个表簇存储簇键(用于将表连接到一起的列),以及簇表中的列值。因为簇中的表都被储存在相同的数据库块中,所以使用簇工作时,I/O操作就减少了。

使用典型数据簇的目的是为了在硬盘上将应用程序经常一起使用的行存储在一块,当应用程序请求这组行时,oracle只用一个或几个硬盘I/O就能找到所有被请求的行。

1.cluster 可以将两个或多个表捆绑在一起,,cluster是一种数据库结构,在这个结构中,可以将两个或者多个表储存在相同的数据块或段中,加入到cluster中的每个表行将物理地存储在相同的块中,好像这些表在cluster key 处连接起来了一样.通过下面的例子,你将理解cluster如何的工作.

aa 表


SQL> select * from aa;

ID NAME SE AGE

---- ---- -- ----------

01 cc m 20

02 dd f 18

03 ee m 22

04 ff f 21

05 gg f 19

06 hh m 20

已选择6行。

bb表

SQL> select * from bb;

SE LIVING

-- ------

m 11-01

f 11-02

2.

在使用aa,bb表的时候,如果想要将这两个表放到一个cluster中,则可以将这两个


表在sex列上连接起来,在这种情况下,吧sex列称为cluster key ,当完成cluster的

创建后,两个表中的数据将会在cluster中物理地连接起来.在创建cluster的时候有两种选择

:


* index cluster(

默认,需要在其中创建cluster index)


* hash cluster


3.创建cluster的步骤:


1). SQL> create cluster ab_cluster (sex char(2) ) tablespace users;

簇已创建。

上面的语句创建了一个名为ab_cluster的cluster,且将它置于表空间usrs中.因为上面创建的是index cluster ,所以当cluster创建完后,还必须在cluster key 上创建索引.

2). SQL> create index ab_cluster_idx on cluster ab_cluster tablespace users;

索引已创建。

{ 当创建hash cluster的时候,例子如下:

Create cluster ab_cluster (sex char(2) size 8k hashkeys 1000 tablespace users;

参数hashkeys用来定义分配给表的hash]值的数目.指出了在cluster中唯一性cluster key的最大值.}

3).创建参与cluster的表.(aa bb)

SQL> create table aa(id varchar2(4) ,name varchar2(4),sex char(2),age number(2))

cluster ab_cluster (sex);

表已创建.

SQL> create table bb( sex char(2) , living varchar(6))

cluster ab_cluster (sex);


表已创建。


4.删除cluster.

在删除cluster的时候,首先必须删除参与该cluster的表或者使用including tables子句.不能从正在使用的cluster删除表.


SQL> drop cluster ab_cluster including tables cascade constraints;

簇已删除。




转载自:http://blog.csdn.net/doymm2008/archive/2009/12/16/5017733.aspx

分享到:
评论

相关推荐

    Mysql数据库与SQL优化+集群+负载均衡.doc

    2. 索引优化:索引是数据库性能优化的重要手段。正确的索引设置可以提高查询速度、减少磁盘空间占用和提高数据安全性。常见的索引类型包括:B-Tree 索引、Hash 索引、Full-text 索引等。 3. 查询语句优化:查询语句...

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    12.7.5使用RMAN工具复制数据库 12.8本章小结 第13章 RAC恢复 13.1恢复技术基础 13.1.1恢复解决方案 13.1.2 SCN时间机制 13.1.3日志线程与联机Redo日志 13.1.4 UNDO表空间 13.2实例恢复 13.2.1 RAC的实例...

    oracle 数据库性能调优技术 1 中文

    索引是提高数据库查询效率的重要工具。通过对表数据进行组织,索引可以加速对特定数据的访问,特别是在大型数据库中。然而,在索引调优的过程中,也存在着一些常见的误区: - **误区1:索引创建得越多越好** 实际...

    Oracle数据库的性能优化 (2).pdf

    在优化数据库性能的过程中,还需要考虑索引的创建与维护、查询优化、存储过程的使用、表分区、数据压缩、内存调优(如PGA和SGA的配置)等多个方面。同时,监控工具如AWR(Automatic Workload Repository)和ASH...

    Mysql 海量数据性能优化.rar

    2. **查询优化**:优化SQL语句是性能提升的基础。应避免全表扫描,利用索引,减少子查询,合理使用JOIN操作,避免在WHERE子句中使用NOT IN和!=运算符,以及减少临时表的使用。 3. **存储引擎选择**:InnoDB引擎支持...

    SQL Server性能优化专题之五:负载均衡

    在SQL Server性能优化的过程中,负载均衡是一个至关重要的概念,尤其对于处理大型数据库的场景。...通过对查询优化、资源管理、监控工具的运用以及遵循最佳实践,可以显著改善SQL Server在处理大型数据库时的性能表现。

    mysql 性能优化与架构设计(word版)

    总结,MySQL性能优化与架构设计涵盖了许多方面,包括查询优化、索引策略、数据库设计、缓存利用、并行处理、架构设计、数据分布以及监控与调优工具的使用。理解和掌握这些知识点,能够帮助我们构建高效、稳定的...

    MySQL数据库架构优化方案.docx

    由于统计查询导致的全表扫描对CPU和IO造成巨大压力,进而影响到写入性能。为了解决这个问题,与业务方沟通后,决定将统计查询从主库转移至从库,减轻主库的压力。这一改变显著降低了主库的CPU和IO负载,而从库虽然...

    使用MySQL Cluster开发用户数据库指南

    在本文中,我们将介绍如何使用 MySQL Cluster 运营商级版本 (CGE) 构建可扩展、高度可用、多地多副本的用户数据库。我们将展示用户定义的分区和分发键如何帮助用户数据库性能随集群规模线性扩展,同时保持关系数据库...

    mysql性能优化与架构设计

    "MySQL性能优化与架构设计"这一主题涵盖了数据库的基础知识、性能提升策略以及系统架构的规划与实施,旨在帮助用户从初级到高级全面掌握MySQL的核心技术。 基础篇: 1. 数据库概念:了解数据库的基本概念,如SQL...

    Java 高性能系统常见设计与优化

    2. 降低硬盘 I/O 访问次数、降低进程间通信 I/O 次数、降低 CPU 和内存等资源的占用是高性能系统设计和优化的基本原则。 3. Java VM 优化是高性能系统设计和优化的重要部分,包括调整 JVM 的参数、使用 BEA JRockit ...

    mysql性能优化教程.pdf (by caoz)

    - **极端情况下的优化**:对于查询密集型应用,可以考虑使用单向有序序列代替传统索引以进一步提高查询效率。 - **索引分析**:在分析索引效率时,可以将复合索引视为单一有序序列来简化问题,有助于更好地理解查询...

    关系型数据库性能体系设计和效率提升.zip

    本资料“关系型数据库性能体系设计和效率提升”着重探讨如何优化这些数据库的性能,以应对日益增长的数据量和复杂查询需求。以下是根据标题和描述提取的关键知识点: 一、数据库性能体系设计 1. 数据库架构设计:...

    MySQL数据库应用案例视频教程下载第19讲 MySQL Cluster.zip

    2. **数据分片**:介绍数据在多个节点间的分布方式,即数据分区,如何通过数据分片策略提高查询性能和并行处理能力。 3. **自动故障恢复**:讲解当某个节点发生故障时,MySQL Cluster如何自动检测并转移数据,以...

    21集群 3:众志成城 —— Cluster(2).md

    这要求使用者需要对RedisCluster有一定的了解和掌握,以便更好地使用和管理RedisCluster。 总之,RedisCluster是一种功能强大且灵活的分布式存储方案,它提供了高可用、高扩展、易管理的Redis服务。通过将数据分散...

    利用新硬件提升数据库性能(“内存”文档)共33张.ppt

    在数据库性能优化的过程中,硬件升级是一个重要的策略,特别是在大数据时代,处理高并发、大规模数据成为常态。本报告主要探讨如何利用新硬件提升数据库性能,重点涉及CPU、内存、磁盘和网络四个关键领域。 首先,...

    数据库优化、集群分布式

    数据库优化和集群分布式是IT行业中两个至关重要的领域,它们直接影响着系统的性能、稳定性和可扩展性。在2012年中国数据库技术大会上,这些主题得到了深入的探讨和分享。 首先,我们来关注“数据库优化”。数据库...

    数据库安装包——版本号:8.0.28.0 如果进不去官网,可以在这里下载

    8. **InnoDB Cluster**:MySQL 8.0引入了InnoDB Cluster,这是一个内置的、易于使用的解决方案,用于实现高可用性和自动故障切换,让数据库服务更加稳定可靠。 9. **更好的备份工具**:8.0版本提供了更强大的备份...

Global site tag (gtag.js) - Google Analytics