集簇

简介:
集簇是一组表的集合,这些表有一个共同的列。对表进行集簇时需要注意下面的原则:
 对于应用程序连接语句中经常用在一起访问的表可以考虑创建集簇;
 那些很少进行连接的表不要创建聚合;
 如果应用程序经常对某个表进行全表扫描也不要创建集簇;
 如果经常选择主表和子表,则要创建集簇;
 如果表中具有相同的键值,但是这些键值占空间超过1个或2个数据块时,不宜创建
集簇;
 如果各个键值对应的行差异太大就不宜创建集簇。
例1。下面语句创建一个集簇(cluster)名字为 personnel,它带的索引键列(cluster key column)
为department_number。一个集簇大小是512字节:

CREATE CLUSTER personnel
( department_number NUMBER(2) )
SIZE 512
STORAGE (INITIAL 100K NEXT 50K);
例2。加表到建立好的集簇里去。这里将emp和dept表加到personnel集簇中:
dept tables to the cluster:
CREATE TABLE emp
(empno NUMBER PRIMARY KEY,
ename VARCHAR2(10) NOT NULL
CHECK (ename = UPPER(ename)),
job VARCHAR2(9),
mgr NUMBER REFERENCES scott.emp(empno),
hiredate DATE
CHECK (hiredate < TO_DATE (’08-14-1998’, ’MM-DD-YYYY’)),
sal NUMBER(10,2) CHECK (sal > 500),
comm NUMBER(9,0) DEFAULT NULL,
deptno NUMBER(2) NOT NULL )
CLUSTER personnel (deptno);
CREATE TABLE dept
(deptno NUMBER(2),
dname VARCHAR2(9),
loc VARCHAR2(9))
CLUSTER personnel (deptno);
例3. 下面语句在集簇键personnel上创建一个集簇索引(cluster index)
CREATE INDEX idx_personnel ON CLUSTER personnel;
当创建完集簇索引(cluster index)后,就可以往emp和dept表中插入数据了。


Hash 簇
哈希集簇(Hash Clusters)也是一种类似于集簇表的方法。但在等价查询中比一般的索引表
或索引集簇(index cluster)还要好。
哈希集簇由一个哈希函数对每行的键值来使用表数据。所有行的相同键值在硬盘中被存放在
一起。
何时创建Hash 簇
是否创建哈希集簇,主要考虑下面原则:
 对那些在使用中经常被访问的列,并且这些列经常使用等式的一组表可以创建哈希聚
合。
 对于非定的集簇键,如果空间能容纳下将来所存放的所有行才能创建哈希集簇。
 如果空间不足,不要考虑创建哈希集簇。
 如果在应用经常采用全表扫描,则不要创建哈希集簇。
 那些经常被修改集簇键值的表不宜创建哈希集簇。

 创建Hash 簇
使用CREATE CLUSTER 语句再后面加 HASHKEYS 保留字就可以创建哈希集簇。见下面例子:
例1.创建哈希集簇(Hash Cluster ) :
下面语句创建一个哈希集簇名字为personnel ,集簇键列为department_number,哈希键值最大
为500字节;每个键值为512字节:
CREATE CLUSTER personnel
( department_number NUMBER )
SIZE 512 HASHKEYS 500
STORAGE (INITIAL 100K NEXT 50K);
这个例子忽略了 HASH IS 子句,这样Oracle就使用内部哈希函数来创建这个集簇。
例2.创建哈希集簇(Hash Cluster ) :
下面语句创建一个哈希集簇名字为personnel ,集簇键列由home_area_code和home_prefix组
成,并且为这两个列使用了哈希函数:
CREATE CLUSTER personnel
( home_area_code NUMBER,
home_prefix NUMBER )
HASHKEYS 20
HASH IS MOD(home_area_code + home_prefix, 101);
目录
相关文章
|
C++ Windows
(1)Qt的基本数据类型以及基本输出
这篇文章介绍了Qt框架中的基本数据类型和日志输出方法,包括如何使用QDebug类及其相关函数进行调试和日志记录,以及如何取消输出时的空格和字符串引号,还提供了抑制输出的两种方式。
401 4
(1)Qt的基本数据类型以及基本输出
|
11月前
|
编解码 网络协议
如何轻松地 rip 3D Blu-ray:详细步骤指南
随着3D电影和家庭影院的普及,越来越多的人希望将3D Blu-ray电影转换为数字文件,以便在多种设备上播放。本文介绍了使用DVDFab、MakeMKV+HandBrake和Leawo Blu-ray Ripper等软件轻松rip 3D Blu-ray的方法,帮助用户享受高质量的3D观影体验。这些工具不仅提供了便捷性和高质量的输出,还能节省存储空间。
740 9
|
11月前
|
算法 量子技术
探索量子计算的边界:从理论到实践
本文深入探讨了量子计算的基本原理、关键技术里程碑以及当前面临的挑战和未来的发展方向。通过对量子比特、量子纠缠和量子门等核心概念的解释,本文旨在为读者提供一个关于量子计算领域的全面概览。此外,文章还分析了量子计算机在解决特定类型问题上的潜在优势,包括密码学、药物发现和复杂系统模拟等领域。最后,本文讨论了实现大规模量子计算所面临的技术障碍和可能的解决方案,展望了量子计算技术的未来趋势。
182 32
|
11月前
|
数据采集 存储 消息中间件
构建高效数据管道:从数据采集到分析的实战指南
在数据的海洋中航行,我们需要精准而高效的工具来捕捉、传输和处理信息。本文将引导你穿越技术性文章的迷雾,用简洁明了的语言和代码示例,展现如何打造一个高性能的数据管道。无论你是初学者还是资深开发者,这篇文章都将为你提供宝贵的知识财富。让我们一起解锁数据的力量,探索其背后的奥秘。
284 15
|
11月前
|
数据可视化 Python
使用OpenPyXL在Excel中创建折线图:数据可视化入门
本文介绍了如何使用Python的`openpyxl`库在Excel中创建折线图,包括安装库、加载Excel文件、定义数据范围、设置图表属性(如标题、轴标签)及保存文件等步骤,适合数据可视化初学者。
507 15
|
11月前
|
安全 算法 网络协议
ip地址https证书免费试用—政企单位专用
IP地址HTTPS证书为基于公网IP的服务提供加密保护,JoySSL等机构提供免费试用,帮助政企用户降低安全成本。用户需注册账号、申请证书、提交CSR并验证IP所有权,最后安装证书并测试。免费证书有效期短,但能有效保障数据安全,提升用户信任度及合规性。
|
消息中间件 Kafka API
深入解析Kafka消息传递的可靠性保证机制
深入解析Kafka消息传递的可靠性保证机制
288 0
|
11月前
|
存储 缓存 API
对接SUOEN海外仓系统免费版开放接口
SUOEN 海外仓系统集成指南:完成官网注册与 API 申请,熟悉接口文档,开发测试确保功能准确,正式部署支持企业运营。强调数据安全、性能优化、错误处理及版本更新。提供产品、入库、出库、库存及其他信息管理接口,定义数据模式确保系统稳定高效。
对接SUOEN海外仓系统免费版开放接口
|
弹性计算 网络安全
阿里云服务器可以做游戏服务器吗?
阿里云服务器可以搭建游戏服务器,阿里云并没有限制云服务器使用,只要符合国家相关法律规定即可,并且阿里云服务器凭借高性能、大带宽的优势是租用游戏服务器的首选
1838 0
阿里云服务器可以做游戏服务器吗?
|
算法 Serverless 计算机视觉
opencv 图像分割与提取(python)
opencv 图像分割与提取(python)