Oracle 维护数据的完整性 一 索引
简介:索引是用于加速数据存取的数据对象,合理的使用索引可以大大降低i/o 次数,从而提高数据的访问性能.
当我们从一张表中检索我们需要的数据是,oralce往往会进行全表扫描,就是遍历所有的数据行,来找到我们需要的数据,并返回结果集给我们,这个过程就像下图:
当这个人需要去图书馆找一本书,唯一的方式就是把这个图书馆的书,全部过一边,直到找到自己想要的书,如果这个图书馆的书少的话,这个时间还可以接收,但是如果这个图书馆有1000万本书,那么你懂的,这辈子能不能找的到都不一定,毕竟人没有计算机那么快的速度。
当我们查询oracle表中的数据时,oracle也是这么做的,检索全表,直到找到符合要求的数据,并返回。这个过程是非常影响用户体验的,所以必须通过索引来解决这个问题。
(个人的理解,大神可视而不见)索引的作用:假设读者经常根据姓名去查一些书籍,那么就根据姓名将整个图书馆的书籍进行分类,那么我们就会得到一个标签的集合,里面存储的是一个个id为姓名的标签,而标签里面的内容是对应数据库记录的位置,假设我们这里需要查询金庸的书籍,那么我们只要去标签集合插到金庸的标签,然后根据标签上记录的金庸书籍的位置,快速的查询我们需要的书籍。就不需要检索全表,而是通过查询索引,从而得到我们需要的数据,但是索引是不能滥用的,下面是使用索引需要注意的地方:
Oracle 维护数据的完整性 一 索引的更多相关文章
- oracle维护数据的完整性
介绍: 数据的完整性用于确保数据库数据遵从一定的商业的逻辑规则.在oracle中,数据完整性可以使用约束.触发器.应用程序(过程.函数)三种方法来实现,在这三种方法中,因为约束易于维护,并且具有最好的 ...
- Oracle 维护数据的完整性 一 约束
简介:约束用于确保数据库满足特定的商业规则.在Oracle中,约束包括以下几种: 1.not null 非空约束 该劣质不能为null 2.unique 唯一约束 ...
- Oracle索引梳理系列(一)- Oracle访问数据的方法
版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...
- Oracle学习总结_day06_视图&序列&索引
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! day 06 视图,索引,序列 视图 什么是视图: 视 ...
- 关于 Oracle 的数据导入导出及 Sql Loader (sqlldr) 的用法
在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法: 1. A 表的记录导出为一条条分号隔开的 insert 语句,然后执行插入到 B 表中2. 建立数据库间的 ...
- oracle的数据对象
oracle的数据对象包括表.视图.约束.序列.索引.函数.存储过程.包和触发器等. 这里主要介绍视图.序列.索引.触发器.存储过程 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以 ...
- oracle数据库表约束、视图、索引—该记录为本人以前微博的文章
一.Oracle 数据库常用操作续关于创建表时创建约束1.创建表的时候增加约束----约束是定义表中的数据应该遵循的规则或者满足的条件----约束是建立在列上的,让某一列或者某几列数据之间有约束--- ...
- Oracle的数据优化(经常被问到)?
以Oracle数据库举例:(a-G要求掌握,H一般为DBA操作,了解就可以了) a. 建库:已知将保存海量数据的时候,因为Oracle是通过用户来管理数据的, 第一步我们先建一个tableaspace ...
- 【转】B-树和B+树的应用:数据搜索和数据库索引
B-树 1 .B-树定义 B-树是一种平衡的多路查找树,它在文件系统中很有用. 定义:一棵m 阶的B-树,或者为空树,或为满足下列特性的m 叉树: ⑴树中每个结点至多有m 棵子树: ⑵若根结点不是叶子 ...
随机推荐
- 浅析Java语言慢的原因
Java在早期(比如JDK1.2以前)是很慢的,后续版本由于有许多优化手段的加入,Java正变得越来越快,所以现在也有很多关于Java和C/C++孰快孰慢的争论.我想就我自己的理解,谈一下影响Java ...
- logback-spring.xml配置文件详解
logback-spring.xml配置文件 自己改下value="G:/logs/pmp"这个值,如果你相关依赖弄好的话,直接复制粘贴即用 输出的日志文件的名称最好也改下,下文中 ...
- CodeForces 877E Danil and a Part-time Job(dfs序+线段树)
Danil decided to earn some money, so he had found a part-time job. The interview have went well, so ...
- Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
环境:linux,mysql5.5.21 错误:Host is blocked because of many connection errors; unblock with 'mysqladmin ...
- [Erlang01] 使用catch与try catch避免嵌套nest_case
catch 如此好用,为什么官方还是推荐用try catch? 1. catch 的用法非常简单: catch case do_check(Test) of {ok,Result} -> do_ ...
- Spring学习(三)——集成 Velocity
上篇文章http://www.cnblogs.com/wenjingu/p/3822989.html我们使用Gradle构建了一个简单的Spring MVC Web应用程序, 本篇将在上篇的基础上将j ...
- SQL函数(不定时更新)
sum求和:select sum(a) from table1 group by b 依据b列为a列求和 distinct去除重复:select distinct(a) from table1 ...
- C# try catch finally
抛出异常开销非常大(相对而言),所以不要过多的在程序中使用它们 既然finally一定是要执行的,即使try块中有return
- Windows上传文件到linux 使用winscp
Windows上传文件到linux 使用winscp, winscp下载目录 https://sourceforge.net/projects/winscp/postdownload?source=d ...
- Centos6.9下PXE安装centos 7
一.简介 这篇文章是无kickstart下安装centos7的,本篇大部分内容同我另外一篇文章相似,只是Centos7 中的isolinux.cfg有一些不太一样需要说明一下. https://www ...