oracle索引如何在ORACLE数据库的字段上建立索引

oracle索引  时间:2021-07-01  阅读:()

如何使用oracle 索引表

索引组织表IOT,例如: CREATE TABLE labor_hour ( WORK_DATE DATE, EMPLOYEE_NO VARCHAR2(8), CONSTRAINT pk_labor_hour PRIMARY KEY (work_date, employee_no)) ORGANIZATION INDEX; SELECT table_name, iot_name, iot_type FROM user_tables; DROP TABLE labor_hour; SELECT object_name, original_name, type, related FROM user_recyclebin; FLASHBACK TABLE labor_hour TO BEFORE DROP; SELECT object_name, object_type FROM user_objects ORDER BY 1,2; ALTER INDEX "BIN$jzohHP0LRqusV3X3jtaDRQ==$0" RENAME TO pk_labor_hour;

oracle的索引有几种

Oracle 提供了多种不同类型的索引以供使用。

简单地说, Oracle 中包括如下索引: 1、 B* 树索引 这些是我所说的 “ 传统 “ 索引。

到目前为止,这是 Oracle 和大多数其他数据库中最常用的索引。

B* 树的构造类似于二叉树,能根据键提供一行或一个行集的快速访问,通常只需很少的读操作就能找到正确的行。

不过,需要注意重要的一点, ” B* 树 “ 中的 ” B “ 不代表二叉( binary ),而代表平衡( b alanced )。

B* 树索引并不是一颗二叉树,这一点在介绍如何在磁盘上物理地存储 B* 树时就会了解到。

B* 树索引有以下子类型: 索引组织表( anized table ):索引组织表以 B* 树结构存储。

堆表的数据行是以一种无组织的方式存储的(只要有可用的空间,就可以放数据),而 IOT 与之不同, IOT 中的数据要按主键的顺序存储和排序。

对应用来说, IOT 表现得与 “ 常规 “ 表并无二致;需要使用 SQL 来正确地访问 IOT 。

IOT 对信息获取、空间系统和 OLAP 应用最为有用。

IOT 在上一章已经详细地讨论过。

B*树聚簇索引( B*tree cluster index )这些是传统 B* 树索引的一个变体(只是稍有变化)。

B* 树聚簇索引用于对聚簇键建立索引(见第 11. 章中 “ 索引聚簇表 “ 一节),所以这一章不再讨论。

在传统 B* 树中 ,键都指向一行;而 B* 树聚簇不同,一个聚簇键会指向一个块,其中包含与这个聚簇键相关的多行。

降序索引( descending index ):降序索引允许数据在索引结构中按 “ 从大到小 “ 的顺序(降序)排序,而不是按 ” 从小到大 “ 的顺序(升序)排序。

我们会解释为什么降序索引很重要,并说明降序索引如何工作。

反向键索引( reverse key index ):这也是 B* 树索引,只不过键中的字节会 “ 反转 “ 。

利用反向键索引,如果索引中填充的是递增的值,索引条目在索引中可以得到更均匀的分布。

例如,如果使用一个序列来生成主键,这个序列将生成诸如 987500 、 987501 、 987502 等值。

这些值是顺序的,所以倘若使用一 个传统的 B* 树索引,这些值就可能放在同一个右侧块上,这就加剧了对这一块的竞争。

利用反向键, Oracl e则会逻辑地对 205789 、 105789 、 005789 等建立索引。

Oracle 将数据放在索引中之前,将先 把所存储数据的字节反转,这样原来可能在索引中相邻放置的值在字节反转之后就会相距很远。

通过反转字节,对索引的插入就会分布到多个块上。

2、 位图索引( bitmap index ) 在一颗 B* 树中,通常索引条目和行之间存在一种一对一的关系:一个 索引条目就指向一行。

而对于位图索引,一个索引条目则使用一个位图同时指向多行。

位图索引适用于高度重复而且通常只读的数据(高度重复是指相对于表中的总行数,数据只有很少的几个不同值)。

考虑在一 个有 100 万行的表中,每个列只有 3 个可取值: Y 、 N 和 NULL 。

举例来说,如果你需要频繁地统计多少行有值Y ,这就很适合建立位图索引。

不过并不是说如果这个表中某一列有 11.000 个不同的值就不能建立位图索引,这一列当然也可以建立 位图索引。

在一个 OLTP 数据库中,由于存在并发性相关的问题,所以不能考虑使用位图索引(后面我们就会讨论这一点)。

注意,位图索引要求使用 Oracle 企业版或个人版。

位图联结索引( bitmap join index ):这为索引结构(而不是表)中的数据提供了一种逆规范化的 方法。

例如,请考虑简单的 EMP 和 DEPT 表。

有人可能会问这样一个问题: “ 多少人在位于波士顿的部门工作 ?“ EMP 有一个指向 DEPT 的外键,要想统计 LOC 值为 Boston 的部门中的员工人数,通常必须完成表联结,将 LOC 列联结至 EMP 记录来回答这个问题。

通过使用位图联结索引,则可以在 EMP 表上对 LOC 列建立索引 。

3、 基于函数的索引( function-based index ) 这些就是 B* 树索引或位图索引,它将一个函数计算得到的结果存储在行的列中,而不是存储列数据本身。

可以把基于函数的索引看作一个虚拟列(或派生列)上的索引,换句话说,这个列并不物理存储在表中。

基于函数的索引可以用于加快形如 SELECT * FROM T W HERE FUNCTION(DATABASE_COLUMN) = SAME_VALUE 这样的查询,因为值 FUNCTION(DATABASE_COLUMN) 已经提前计算并存储在索引中。

4、 应用域索引( application domain index ) 应用域索引是你自己构建和存储的索引,可能存储在Oracle 中,也可能在 Oracle 之外。

你要告诉优化器索引的选择性如何,以及执行的开销有多大,优化器则会根据你提供的信息来决定是否使用你的索引。

Oracle 文本索引就是应用域索引的一个例子;你也可 以使用构建 Oracle 文本索引所用的工具来建立自己的索引。

需要指出,这里创建的 “ 索引 “ 不需要使用传统的索引结构。

例如, Oracle 文本索引就使用了一组表来实现其索引概念。

5、HASH索引 使用HASH索引必须要使用HASH群集。

建立一个群集或HASH群集的同时,也就定义了一个群集键。

这个键告诉Oracle如何在群集上存储表。

在存储数据时,所有与这个群集键相关的行都被存储在一个数据库块上。

若数据都存储在同一个数据库块上,并且使用了HASH索引,Oracle就可以通过执行一个HASH函数和I/O来访问数据——而通过适用一个二元高度为4的B-树索引来访问数据,则需要在检索数据时使用4个I/O。

技巧:HASH索引在有限制条件(需要指定一个确定的值而不是一个值范围)的情况下非常有用。

6、分区索引 分区索引就是简单地把一个索引分成多个片断,这样可以访问更小的片断,并且可以把这些片断分别存放在不同的硬盘上(避免I/O问题)。

B-数索引和位图索引都可以被分区,HASH索引不可以被分区。

有两种类型的分区索引:本地分区索引和全局分区索引。

每个类型都有两个子类型,有前缀索引和无前缀索引。

如果使用了位图索引就必须是本地索引。

把索引分区最主要的原因是可以减少所需读取的索引的大小,另外把分区放在不同的表空间中可以提高分区的可用性和可靠性。

如何在ORACLE数据库的字段上建立索引

Oracle中建立索引,会提高查询速度: create index 索引名 on 表名(列名); 例如: create index index_userid on tbl_detail(userid);

个人网站备案流程及注意事项(内容方向和适用主机商)

如今我们还有在做个人网站吗?随着自媒体和短视频的发展和兴起,包括我们很多WEB2.0产品的延续,当然也包括个人建站市场的低迷和用户关注的不同,有些个人已经不在做网站。但是,由于我们有些朋友出于网站的爱好或者说是有些项目还是基于PC端网站的,还是有网友抱有信心的,比如我们看到有一些老牌个人网站依旧在运行,且还有新网站的出现。今天在这篇文章中谈谈有网友问关于个人网站备案的问题。这个也是前几天有他在选择...

美国Cera 2核4G 20元/45天 香港CN2 E5 20M物理机服务器 150元 日本CN2 E5 20M物理机服务器 150元 提速啦

提速啦 成立于2012年,作为互联网老兵我们一直为用户提供 稳定 高速 高质量的产品。成立至今一直深受用户的喜爱 荣获 “2021年赣州安全大赛第三名” “2020创新企业入围奖” 等殊荣。目前我司在美国拥有4.6万G总内存云服务器资源,香港拥有2.2万G总内存云服务器资源,阿里云香港机房拥有8000G总内存云服务器资源,国内多地区拥有1.6万G总内存云服务器资源,绝非1 2台宿主机的小商家可比。...

Friendhosting 黑色星期五 VDS/VPS可享四五折优惠促销

Friendhosting商家在前面的篇幅中也又陆续介绍到,是一家保加利亚主机商,主要提供销售VPS和独立服务器出租业务,数据中心分布在:荷兰、保加利亚、立陶宛、捷克、乌克兰和美国洛杉矶等。这不近期黑色星期五活动,商家也有推出了黑五优惠,VPS全场一次性45折,虚拟主机4折,全球多机房可选,老用户续费可获9折加送1个月使用时长,VDS折后最低仅€14.53/年,有需要的可以看看。Friendhos...

oracle索引为你推荐
strstrc++里strstr是啥意思???httpsessionhttpsession中的SessionID是如何生成的?settimerMFC 中,全局SetTimer函数怎么用?洗牌算法我是小白,eclipse说老式声明,怎么办?帮我看下,不胜感激!! //发牌算法webcrackwebcrack4网页密码vipjrvipjr英语怎么样?靠谱吗?有b吗34B的胸围有多大?欢迎页面如何设置电脑的欢迎界面?弹幕网站视频弹幕网站推荐系统论坛安卓系统论坛哪个好?
免费国际域名 亚洲大于500m payoneer 空间打开慢 英语简历模板word 12306抢票攻略 iis安装教程 info域名 512m内存 空间合租 空间技术网 电信虚拟主机 免费mysql数据库 中国电信测速器 电信宽带测速软件 ssl加速 汤博乐 美国主机侦探 accountsuspended alexa世界排名 更多