再上一篇:11.5应用域索引
上一篇:11.6关于索引的常见问题和神话
主页
下一篇:12.1Oracle数据类型概述
再下一篇:12.2字符和二进制串类型
文章列表

11.7小结

Oracle 9i 10g编程艺术:深入数据库体系结构

这一章中,我们介绍了 Oracle必须提供的不同类型的索引。首先讨论了基本的B*树索引,并介绍了 这种索引的几种子类型,如反向键索引(为Oracle RAC所设计)和降序索引(来获取按升序和降序混合排 序的数据)。我们还花了一些时间来讨论什么时候应当使用索引,另外解释了为什么某些情况下索引可能没 有用。
然后我们介绍了位图索引,在数据仓库环境(即读密集型环境,而不是OLTP)中,这对于为低到中 基数的数据建立索引是一个绝好的方法。我们介绍了在哪些情况想适于使用位图索引,并解释了为什么在 OLTP环境(或多个用户必须并发地更新同一个列的任何环境)中不应该考虑使用位图索引。
接下来转向基于函数的索引,这实际上是 B*树 索引和位图索引的特例。基于函数的索引允许我们在 一个列(或多个列)的函数上创建索引,这说明可以预先计算和存储复杂计算和用户编写的函数的结果, 以便以 后以极快的速度完成索引获取。我们介绍了有关基于函数的索引的一些重要的实现细节,如必须有 一些必要的系统级和会话级设置才能使用基于函数的索引。接下来 分别在内置Oracle函数和用户编写的 函数上举了两个基于函数的索引例子。最后,我们谈到了关于基于函数的索引的一些警告。
然后分析了一个非常特定的索引类型,这称为应用域索引。在此没有深入地介绍如何从头构建这种形 式的索引(这个过程很长,也很复杂),而是介绍了Oracle所实现的一个例子:文本索引。
最后我回答了一些关于索引最常问的问题,还澄清了有关索引的一些神话。这一节不仅涵盖了一些简 单的问题,如“能在视图中使用索引吗?”,也涉及一些更复杂的 神话,如“索引中从不重用空间”。我们 主要是通过具体的例子来回答这些问题,揭穿上述神话,并在此过程中展示有关的概念。

第12章 数据类型

选 择一个正确的数据类型,这看上去再容易不过了,但我屡屡见得选择不当的情况。要选择什么类 型来存储你的数据,这是一个最基本的决定,而且这个决定会在以后 的数年间影响着你的应用和数据。选 择适当的数据类型至关重要,而且很难事后再做改变,也就是说,一旦选择某些类型实现了应用,在相当 长的时间内就只能“忍 耐”(因为你选择的类型可能不太合适)。
这一章我们将介绍Oracle所有可用的基本数据类型,讨论这些类型如何实现,并说明每种类型分别 适用于哪些情况。在此不讨论用户定义的数据类型,因为用户定义的数据类型只是由Oracle内 置数据类 型导出的一些复合对象。我们会分析如果不合适地使用了错误的数据类型,甚至只是对数据类型使用了不 正确的参数(如长度、精度、小数位等),将会发 生什么情况。读完这一章后,你将对使用哪些类型有所 了解,明白这些类型如何实现以及何时使用,还有很重要的一点,你会认识到为什么关键是要针对具体任 务使 用适宜的类型。