索引的概念与类型

作者&投稿:盍叔 (若有异议请与网页底部的电邮联系)
~ 索引在mysql之中也被称为“键(key)”是存储引擎用于快速找到记录的一种数据结构。 

索引有很多类型,可以为不同的场景提供更好的性能。在mysql中,索引是在存储引擎层而不是服务器层实现的。所以不同的存储引擎的索引的工作方式是不同的,也不是所有的存储引擎都支持所有类型的索引。即使多个存储引擎支持同一种类型的索引,其底层的实现也是不同的。

        这里引用维基百科的定义: B树 (英语:B-tree)是一种自平衡的 树 ,能够保持数据有序。这种数据结构能够让查找数据、顺序访问、插入数据及删除的动作,都在 对数时间 内完成。B树,概括来说是一个一般化的 二叉查找树 (binary search tree),可以拥有多于2个子节点。与 自平衡二叉查找    树 不同,B树为系统大块数据的读写操作做了优化。B树可以减少定位记录时所经历的中间过程,从而加快存取速度。

         大多数时候人们在提到索引但如果特别指明索引的类型的时候,人们指的是 B-TREE 索引。

        B-TREE 通常意味着所有的值都是按顺序存储的,并且每一个叶子页到根的距离都相同

        B-TREE 索引能够加快访问数据的速度,是因为存储引擎不再需要进行全表扫描来获取需要的数据,取而代之的是从索引的根节点开始搜索。

        B-TREE 对索引列是顺序组织存储的,所以很适合查找范围数据

        哈希索引是基于哈希表实现,只有精确匹配索引所有列的查询才有效。对于每一行数据,存储引擎都会对所有的索引列计算一个哈希码( hash code ) 哈希索引将所有的哈希码存储在索引中,同时在哈希表中保存指向每个数据行的指针。

        和B-Tree索引不同,这类索引无须前缀查询。空间索引会从所有维度来索引数据。查询时,可以有效地使用任意维度来组合查询。必须使用 MySQL 的 GIS 相关函数如 MBRCONTAINS() 等来维护数据。但mysql对GIS的支持目前还不完善,不建议使用。

   全文索引是一种特殊类型的索引,它查找的是文本中的关键词,而不是直接比较索引中的值。全文搜索和其他几类索引的匹配方式完全不一样。它有许多需要注意的细节:如停用词,词干,和复数,布尔搜索等。全文索引更类似于搜索引擎做的事情,而不是简单的where条件匹配。全文索引适用于MATCH AGAINST操作。


分类标引的类目辨析
上下位类关系是分类体系中基本的关系类型,它们是互为作用的。分类体系是通过层层划分建立起来的,在类目展开过程中,上位类对下位类的含义具有限定作用。为了使类名尽可能简短,分类法对下位类类名的确定往往省略其上位类的含义,只列出其子概念的意义。因此,在使用子类分类时应注意结合上位类的含义进行了解。同样,网络...

文言文的文体是什么意思
文体,是指独立成篇的文本体裁(或样式、体制),是文本构成的规格和模式,一种独特的文化现象,是某种历史内容长期积淀的产物。它反映了文本从内容到形式的整体特点,属于形式范畴。除此以外,文体还是文娱和体育的合称。文体,指文章、文学作品的体裁,如通常说的文体指诗歌、散文、小说和戏剧;另做文娱...

MySQL的几个概念:主键,外键,索引,唯一索引
如果你曾经用过AUTO_INCREMENT类型的列,你可能已经熟悉主键之类的概念了。主键一般在创建表的时候指定,例如“CREATETABLE tablename ( [...], PRIMARYKEY(列的列表) );”。但是,我们也可以通过修改表的方式加入主键,例如“ALTER TABLE tablename ADD PRIMARY KEY(列的列表); ”。每个表只能有一个主键。全文索引...

英语里用的到底是双引号还是单引号,我们课本上是双引号,新概念上...
双引号和单引号在用法上没有区别,用哪一种都可以。但双引号更为通行,现在的主要报纸,如美国的《纽约时报》,英国的《泰晤士报》,都是使用双引号(在此顺便反驳一下1楼的论据)。单引号多用在英国(《新概念英语》就是英国的)。如果是引号中再用引号,则不可二者雷同,也就是说,如果外引号是...

信息检索重点
(4)利用率和被引率较高。23.试述因特网搜索引擎的概念、类型。23.答:搜索引擎是Internet上具有查询功能的网页的统称,即允许用户递交查询,检索出与查询相关的网页结果列表,并且排序输出。根据检索内容分为:综合性搜索引擎和专业性搜索引擎;根据检索功能分类:目录式搜索引擎、全文式搜索引擎、智能式搜索引擎;根据检索...

现代文言文新文体
德国姚斯在《走向接受美学》中认为:“文学的形式类型既不是作家主观的创造,也不仅是反思性的有序概念,而主要是一种社会现象。类型与形式的存在依赖于它们在现实世界中的功能。” 每一种文体都具有其他任何一种体裁所无法取代的功能,以及审美效应。正如莱辛在《汉堡剧评》中所说:“各种体裁的诗歌不可能改善一切,至少...

渠道冲突的概念及类型?
渠道冲突,是指某渠道成员意识到另一个成员从事损害、威胁其利益或以牺牲其利益为代价获取稀缺资源的活动,从而引发的争执、敌对和报复等行为。渠道冲突有三种类型:1、垂直渠道冲突,只同一渠道中不同层次的渠道成员之间发生的冲突。2、水平渠道冲突,指同一层次的渠道成员之间发生的冲突3、多渠道冲突,指...

网络信息资源检索怎么缩小检索范围?
\\x0d\\x0a(2)增加“与”连接,进一步限定主题概念。\\x0d\\x0a(3)限定检索词所在的可检字段,用位置算符控制检索词的词间顺序与位置。\\x0d\\x0a(4)限制输出文献的外部特征,如限制年限、语种、文献类型等。\\x0d\\x0a(5)用逻辑“非”限制与提问不相关的文献的输出。\\x0d\\x0a(6)用主题词检索,不用或...

概念组配是什么意思?
组配标引是在词表中选择两个及两个以上有形式逻辑关系的词,按照特定规则组成的一组标引词串,用以满足文献多层次、多途径检索的需要。概念组配是文献标引的关键环节。根据参与组配的主题词之间的逻辑关系,概念组配可分为交叉组配、限定组配和联结组配3种基本类型。在实际组配标引工作中,编目员应...

如何区分作诠释和下定义?
“石拱桥”,不同于赵州桥具体指某个桥.“石拱桥”,是人们归纳的一种桥的类型.“石拱桥”,是人概念的东西.人们会问:'什么叫石拱桥?“,这便要说出它概念上的内涵、意义.于是就要对“石拱桥”这一概念下定义.这就是诠释和定义的区分.可以多结合一些具体例子,细细分析,慢慢体会.费了很大的劲,好难说清.。

商丘市13282506660: 1、简述索引的概念、作用、类型以及编排特点. -
时狡海诺:[答案] 索引是表示数据的另一种方式,它提供的数据顺序不同于数据在磁盘上的物理存储顺序.索引的特殊作用是在表内重新排列记录的物理位置.索引可建立在数据表的一列上,或建立在表的几列的组合上.

商丘市13282506660: 什么是索引?索引类型有几种,各有什么特点? -
时狡海诺:[答案] 索引是对数据库表中一列或多列的值进行排序的一种结构,例如 employee 表的姓(name)列.如果要按姓查找特定职员,与必须搜索表中的所有行相比,索引会帮助您更快地获得该信息. 索引是一个单独的、物理的数据库结构,它是某个表中一列或...

商丘市13282506660: 什么是索引 分为那些类型 -
时狡海诺: 索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录.表里面的记录数量越多,这个操作的代价就越高...

商丘市13282506660: 什么是索引 -
时狡海诺: 索引:将文献中具有检索意义的事项(可以是人名、地名、词语、概念、或其他事项)按照一定方式有序编排起来,以供检索的工具书. 【编程术语】使用索引可快速访问数据库表中的特定信息.索引是对数据库表中一列或多列的值进行排序的...

商丘市13282506660: 什么是数据库索引 有哪些类型和特点 -
时狡海诺: 索引类似于咱们日常生活中的字典.它是储存在块里,储存每行数据的物理地址,与被创建的索引列的数据一一对应,用来快速定位,最快找到数据.但是并不是说用索引就一定可以提高性能.

商丘市13282506660: mysql索引类型解释
时狡海诺: 索引分单列索引和组合索引.单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引.组合索引,即一个索包含多个列. MySQL索引类型包括: (1)普通索引 这是最基本的索引,它没有任何限制.它有以下几...

商丘市13282506660: C语言中什么是索引?? -
时狡海诺: 拿本新华字典做比喻 字的排页方式就是聚集索引,我们找字可以直接翻页找大概范围 通过前面的目录找到一个字的具体页码就是普通索引.比如定义一个数组 int a[10];如果你要访问a[5]; 这就是索引应用的例子

商丘市13282506660: 数据库索引是什么,有什么用,怎么用 -
时狡海诺: 第二次回答: 问题补充:能不能具体点,新建一个索引就可以了吗 基本上可以这么说,不过你也可以修改索引.记住: 索引其实关键目的是为了加快检索速度而建立的,所以,怎么用索引是数据库系统本身的事情,作为数据库设计或使用者,...

商丘市13282506660: SQLServer中的索引是什么?
时狡海诺: 索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度.索引包含由表或视图中的一列或多列生成的键.这些键存储在一个结构(B 树)中,使 SQL Server 可以快速有效地查找与键值关联的行. 表或视图可以包含以下类型的索引: 聚集索引 聚集索引根据数据行的键值在表或视图中排序和存储这些数据行.索引定义中包含聚集索引列.每个表只能有一个聚集索引,因为数据行本身只能按一个顺序排序. 只有当表包含聚集索引时,表中的数据行才按排序顺序存储.如果表具有聚集索引,则该表称为聚集表.如果表没有聚集索引,则其数据行存储在一个称为堆的无序结构中. 希望我的回答可以帮到你.

商丘市13282506660: 数据库中的聚集索引和非聚集索引的含义是什么? -
时狡海诺: 索引有两种类型,分别是聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引). 聚集索引在一个表中只能有一个,默认情况下在主键建立的时候创建,它是规定数据在表中...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网