GBase 8c的索引类型式有几种?分别是哪些?
SQL Server中的数据也是按页( 4KB )存放
索引:是SQL Server编排数据的内部方法。它为SQL Server提供一种方法来编排查询数据 。
索引页:数据库中存储索引的数据页;索引页类似于汉语字(词)典中按拼音或笔画排序的目录页。
索引的作用:通过使用索引,可以大大提高数据库的检索速度,改善数据库性能。
共有四种:
唯一索引:唯一索引不允许两行具有相同的索引值
主键索引:为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的,并且不能为空
聚集索引(Clustered):表中各行的物理顺序与键值的逻辑(索引)顺序相同,每个表只能有一个
非聚集索引(Non-clustered):非聚集索引指定表的逻辑顺序。数据存储在一个位置,索引存储在另一个位置,索引中包含指向数据存储位置的指针。可以有多个,小于249个
理解:
唯一索引:唯一索引不允许两行具有相同的索引值。
如果现有数据中存在重复的键值,则大多数数据库都不允许将新创建的唯一索引与表一起保存。当新数据将使表中的键值重复时,数据库也拒绝接受此数据。例如,如果在stuInfo表中的学员员身份证号(stuID) 列上创建了唯一索引,则所有学员的身份证号不能重复。
提示:创建了唯一约束,将自动创建唯一索引。尽管唯一索引有助于找到信息,但为了获得最佳性能,建议使用主键约束或唯一约束。
主键索引:在数据库关系图中为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的。当在查询中使用主键索引时,它还允许快速访问数据。
聚集索引(clustered index)
在聚集索引中,表中各行的物理顺序与键值的逻辑(索引)顺序相同。表只能包含一个聚集索引。例如:汉语字(词)典默认按拼音排序编排字典中的每页页码。拼音字母a,b,c,d……x,y,z就是索引的逻辑顺序,而页码1,2,3……就是物理顺序。默认按拼音排序的字典,其索引顺序和逻辑顺序是一致的。即拼音顺序较后的字(词)对应的页码也较大。如拼音“ha”对应的字(词)页码就比拼音“ba” 对应的字(词)页码靠后。
如果不是聚集索引,表中各行的物理顺序与键值的逻辑顺序不匹配。聚集索引比非聚集索引(nonclustered index)有更快的数据访问速度。例如,按笔画排序的索引就是非聚集索引,“1”画的字(词)对应的页码可能比“3”画的字(词)对应的页码大(靠后)。
提示:SQL Server中,一个表只能创建1个聚集索引,多个非聚集索引。设置某列为主键,该列就默认为聚集索引
创建索引
CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED]
INDEX index_name
ON table_name (column_name…)
[WITH FILLFACTOR=x]
UNIQUE表示唯一索引,可选
CLUSTERED、NONCLUSTERED表示聚集索引还是
非聚集索引,可选
FILLFACTOR表示填充因子,指定一个0到100之间的值,
该值指示索引页填满的空间所占的百分比
优点
加快访问速度
加强行的唯一性
缺点
带索引的表在数据库中需要更多的存储空间
操纵数据的命令需要更长的处理时间,因为它们需要对索引进行更新
不同数据库中提供了不同的索引类型,SQLServer中的索引有两种:聚集索引(CLUSTERED)和非聚集索引(NONCLUSTERED)。
索引区别:
聚集索引:
聚集索引基于数据行的键值,在表内排序和存储这些数据行。每个表只能有一个聚集索引,应为数据行本分只能按一个顺序存储。
在聚集索引中,表中各行的物理顺序与索引键值的逻辑(索引)顺序相同。聚集索引通常可加快UPDATE和DELETE操作的速度,因为这两个操作需要读取大量的数据。创建或修改聚集索引可能要花很长时间,因为执行这两个操作时要在磁盘上对表的行进行重组。
非聚集索引:
因为一个表中只能有一个聚集索引,如果需要在表中建立多个索引,则可以创建为非聚集索引。表中的数据并不按照非聚集索引列的顺序存储,但非聚集索引的索引行中保存了非聚集键值和行定位器,可以快捷地根据非聚集键的值来定位记录的存储位置。
延伸阅读:
无论是聚集索引,还是非聚集索引,都可以是唯一索引(UNIQUE)
。在SQL Server中,当唯一性是数据本身的特点时,可创建唯一索引,但索引列的组合不同于表的主键。例如,如果要频繁查询表a(该表主键为列a_id)的列a_name,而且要保证姓名是唯一的,则在列a_name上创建唯一索引。如果用户为多个员工输入了相同的姓名,则数据库显示错误,并且不能保存该表。
(1)B-tree索引使用一种类似与B+树的结构来存储数据的键值,通过这种结构能够快速地查找索引。
(2)Hash索引只能处理简单等值比较。不论何时当一个索引列涉及到一个使用了=操作符的比较时,查询规划器将考虑使用一个Hash索引。
(3)GiST索引并不是一种单独的索引,而是可以用于实现很多不同索引策略的基础设施。相应地,可以使用一个GiST索引的特定操作符根据索引策略(操作符类)而变化。
(4)SP-GiST索引为支持多种搜索提供了一种基础结构。SP-GiST 允许实现众多不同的非平衡的基于磁盘的数据结构,例如四叉树、k-d树和radix树。
(5)GIN 索引是“倒排索引”,它适合于包含多个组成值的数据值,例如数组。倒排索引中为每一个组成值都包含一个单独的项,它可以高效地处理测试指定组成值是否存在的查询。与 GiST 和 SP-GiST相似, GIN 可以支持多种不同的用户定义的索引策略,并且可以与一个 GIN 索引配合使用的特定操作符取决于索引策略。
(6)BRIN 索引(块范围索引的缩写)存储有关存放在一个表的连续物理块范围上的值摘要信息。与 GiST、SP-GiST 和 GIN 相似,BRIN 可以支持很多种不同的索引策略,并且可以与一个 BRIN 索引配合使用的特定操作符取决于索引策略。
SQL Server中的数据也是按页( 4KB )存放 索引:是SQL Server编排数据的内部方法。它为SQL Server提供一种方法来编排查询数据 。
计耿石榴: 唯一索引、函数索引、簇集索引、全文索引
大同县19332137939: oracle数据库索引种类,分别什么情况下使用 - ?
计耿石榴: 1. b-tree索引 Oracle数据库中最常见的索引类型是b-tree索引,也就是B-树索引,以其同名的计算科学结构命名.CREATE INDEX语句时,默认就是在创建b-tree索引.没有特别规定可用于任何情况. 2. 位图索引(bitmap index) 位图索引特定...
大同县19332137939: 索引按功能分类可分为哪四类? - ?
计耿石榴: 索引的分类和使用注意 索引有如下的几种情况: 1 唯一索引 1主键索引:唯一索引的特殊类型 1 聚集索引:在聚集索引中,表中各行的物理顺序与键值的逻辑(索引)顺序相同.表只能包含一个聚集索引.如果不是聚集索引,表中各行的物理顺...
大同县19332137939: 索引关键字的类型有哪几种 - ?
计耿石榴: 索引类型: 根据数据库的功能,可以在数据库设计器中创建四种索引:唯一索引、非唯一索引、主键索引和聚集索引. 尽管唯一索引有助于定位信息,但为获得最佳性能结果,建议改用主键或唯一约束.唯一索引: 唯一索引是不允许其中任何...
大同县19332137939: 文献常识中根据索引标目的性质索引类型分为几种? ?
计耿石榴: 根据索引标目的性质索引可分为四种类型:篇目索引是以文献中的题名为标目编制成的索引.根据收录文献对象的范围又分为:期刊篇目索引:包括多种期刊篇目索引和单种期刊篇目索引.报纸篇目索引.图书篇目索引.会议文献篇目索引.语词索引是以文献中的字、词、句以及人名、地名等为标目编制成的索引.著者索引是以著者姓名为标目的索引.主题索引是以文献中论及的主题词为标目编制的索引.
大同县19332137939: Access提供哪些形式的索引 - ?
计耿石榴: primary key,及一般index,无,有(无重复),有(有重复)是只index的属性.你通知dao编程可以得到index的属性
大同县19332137939: mysql索引类型有哪些 - ?
计耿石榴: 主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE.
大同县19332137939: oracle的索引类型到底有几种,从原理上来划分 - ?
计耿石榴: 普通(B-TREE)、BITMAP 功能 Application Domain Indexes interMedia Text Indexes
大同县19332137939: (38) 索引属于 - -----. A. 模式 B. 内模式 C. 外模式 D. 概念模式 - ?
计耿石榴: (38)[答案]B [考点]数据库设计基础 [评析] 要特别记住此题的答案.索引的写入修改了数据库的物理结构,而不是简单的逻辑设计.内模式规定了数据在存储介质上的物理组织方式、记录录址方式.
大同县19332137939: 什么是表的索引?索引有几种类型?它们之间有何区别?, 真心求教 - ?
计耿石榴: 答案1:唯一索引: 唯一索引是不允许其中任何两行具有相同索引值的索引. 当现有数据上新建了唯一索引,则任何2个员工都不能同姓. 主键索引: 表常常有