索引学习

  索引,使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。

在关系数据库中,索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快。

  索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。

  当表中有大量记录时,若要对表进行查询,第一种搜索信息方式是全表搜索,是将所有记录一一取出,和查询条件进行一一对比,然后返回满足条件的记录,这样做会消耗大量数据库系统时间,并造成大量磁盘I/O操作;第二种就是在表中建立索引,然后在索引中找到符合查询条件的索引值,最后通过保存在索引中的ROWID(相当于页码)快速找到表中对应的记录。

索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。

索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对这些指针排序。数据库使用索引的方式与您使用书籍中的索引的方式很相似:它搜索索引以找到特定值,然后顺指针找到包含该值的行。

在数据库关系图中,可以在选定表的“索引/键”属性页中创建、编辑或删除每个索引类型。当保存索引所附加到的表,或保存该表所在的关系图时,索引将保存在数据库中。

时间: 2024-11-05 22:53:13

索引学习的相关文章

索引学习 查找 数据结构 梳理

索引是啥? 索引是数据结构,在数据结构有一章叫查找,在国外的一本书上名字就找索引. 准确的说就是: 加快查找的数据结构. 查找的那一章: 1.有序数组的二分查找 2.二叉查找 ,在此处,为了效率防止退化,引入了平衡的调整. 3.在上述的平衡的定义,为左右高度至多差1,要求太严,调整频露高,于是红黑树应运而生,它对平衡的定义要求最长的比最短的最多2倍,降低平衡要求的目的是提高性能. 红黑树的5条性质如下: 1.节点为黑或红. 2.根和叶子为黑. 3.不能出现红红. 4,每个节点到叶子黑色高度相同.

MongoDB数据模型和索引学习总结

MongoDB数据模型和索引学习总结 1. MongoDB数据模型: MongoDB数据存储结构: MongoDB针对文档(大文件採用GridFS协议)採用BSON(binary json,採用二进制编码)数据格式来存储和交换数据.Bson吸收了JSON schema-less的特点,存储结构松散,不须要像RDB(关系数据)那样事先定义数据存储的元数据结构.另外添加了多种数据类型的支持和优化,使读写更加高效. (1) BSON 支持的数据类型: Double.String.Object.Arra

mongodb之索引学习

学习索引分类和创建索引:                1._id索引 大多数集合默认的索引2.单键索引:手动创建,一个单一的值3.多建索引:组合函数4.复合索引 :最左前缀原则5.过期索引 :一定时间内失效,注意点:必须是isodate或者其数组,不要使用时间戳,否则不会被自动删除.6.全文索引 db.tm.ensureindex({"article":"text"}),db.tm.ensureindex({"key1":"text&

SQL索引学习-索引结构

前一阵无意中和同事讨论过一个SQL相关的题(通过一个小问题来学习SQL关联查询),很惭愧一个非常简单的问题由于种种原因居然没有回答正确,数据库知识方面我算不上技术好,谈起SQL知识的学习我得益于2008年进的一家公司,有几个DBA技术相当专业,正好手上有一个项目遇到了一些数据库查询性能问题,就试着想办法优化,于是自己将相法和DBA沟通后,居然得到了他们的赞同,让我信心大增,后来一段时间我又主动找他们聊了一些其它的知识,所以在数据库索引这块我算是相对一般的.net程序员要更加有见解一些.当时我们部

数据库索引学习

一.索引介绍 数据库索引调优是一项技术活,不能仅仅靠理论,因为实际情况千变万化,而且各种数据库本身存在很复杂的机制,如查询优化策略和各种引擎的实现等.但同时这些理论是索引调优的基础,只有在明白理论的基础上,才能对调优策略进行合理推断并了解其背后的机制,然后结合实践中不断的实验和摸索. 索引其实就是在数据库存储数据之外,还维护着另外的满足某种查询算法的数据结构,这些数据结构再以某种方式指向真实的存储数据,然后在现有的数据结构上实现快速查询.(找了张很不错的二叉树的图来理解索引,现在大多的索引都是B

B tree索引学习总结

b tree索引 索引的结构: 1.创建一个测试表 create table it (x number ,y varchar2(100)); 2.插入一万行数据 begin for i in 1..100000 loop insert into it values(i,rpad(i,100,'*')); end loop; end; / 3.创建索引在x列上 create index idx_it on it(x); 4.收集表信息 SQL> exec dbms_stats.gather_tab

oracle索引学习

查看执行状态: 选中代码直接按F5,或者点击Tools===>>Explain Plan 一.索引的注意事项: 当任何单个查询要检索的行少于或者等于整个表行数的10%时,索引就非常有用.这就意味着索引的候选列应该是用来存储很大范围的值的列. 好的索引侯选列就是那些对每一个记录只包含一个唯一数字的列:差的索引候选列是那些只包含很小范围的数字代码的列. 二.创建索引 create [unique] index index_name on table_name(colum_name[,colum_n

小贝_mysql索引学习与优化

mysql索引与优化 简要: 一.索引是什么 二.索引类型及使用语法 三.全文索引说明 一.索引是什么 1.以书的目录为例,通过查看目录,再找到对应的内容.因此,索引就是给数据加上了'目录',便于快速找到数据 2.索引的作用: 好处: 加快了查询速度 坏处: a.降低了增删改的速度 b.增大了表的文件大小(索引文件甚至可能比数据文件还大) 案例: 设有某个表15列,存在10列上有索引,共500w行数据,如何快速导入? 答: 1.把空表的索引全部删除 2.导入数据 3.数据导入完毕后再建立索引 3

mysql 多列索引学习-经典实例

索引优化 ,b-tree假设某个表有一个联合索引(c1,c2,c3,c4) 以下 只能使用该联合索引的c1,c2,c3部分A. where c1 = x and c2 = x and c4>x and c3 = xB. where c1 = x and c2 = x and c4=x order by c3C. where c1 = x and c4 = x group by c3,c2D. where c1 = ? and c5 = ? order by c2,c3E. where c1 =

mysql索引学习

索引用于快速找出在某列中有一特定值的行. 如果不实用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行. 表越大,查询数据所花费的时间越多. 如果表中查询的列有一个索引,MySQL能快速到达一个位置去搜寻数据文件,而不必查看所有的数据. 内容导航 了解什么是索引 掌握创建索引的方法和技巧 熟悉如何删除索引 掌握综合案例中索引创建的方法和技巧 熟悉操作索引常见的问题 索引简介 索引是对数据库表中一列货多列的值进行排序的一种结构,使用索引可提高数据库中特定数据的查询速度. 索引的含义和