什么是索引
指数
使用索引可以快速访问数据库表中的特定信息。索引是一种对数据库表中一列或多列的值进行排序的结构,例如雇员表的最后一列。如果您想通过姓氏来查找特定的员工,索引将帮助您比搜索表中的所有行更快地获得信息。
索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对指针进行排序。数据库使用索引的方式类似于您在书籍中使用索引的方式:它搜索索引来查找特定的值,然后跟随指针来查找包含该值的行。
在数据库图表中,您可以在选定表的索引/键属性页中创建、编辑或删除每个索引类型。当您保存索引所附加到的表或该表所在的图表时,该索引将保存在数据库中。
请注意,并非所有数据库都以相同的方式使用索引。一般来说,只有当索引列中的数据被频繁查询时,才有必要在表上创建索引。索引会占用磁盘空间,并降低添加、删除和更新行的速度。在大多数情况下,索引在数据检索中的速度优势大大超过了它的缺点。但是,如果应用程序非常频繁地更新数据,或者磁盘空间有限,则可能需要限制索引的数量。
您可以基于数据库表中的一列或多列创建索引。多列索引允许您区分其中一列可能具有相同值的行。
如果经常同时按两列或多列进行搜索或排序,索引也很有帮助。例如,如果经常为同一查询中的姓氏和名字列设置条件,那么在这两列上创建多列索引是有意义的。
确定索引的有效性:
检查查询的WHERE和JOIN子句。任何子句中包含的每一列都是可以由索引选择的对象。
测试新索引,检查它对运行查询的性能的影响。
考虑已经在表上创建的索引的数量。最好避免在一个表上有多个索引。
检查已经在表上创建的索引的定义。最好避免包含共享列的重叠索引。
检查列中唯一数据值的数量,并将其与表中的行数进行比较。比较的结果是列的选择性,这有助于确定该列是否适合索引,如果适合,还有助于确定索引的类型。
索引是一种对数据库表中一列或多列的值进行排序的结构,例如雇员表的姓氏列。如果您想通过姓氏来查找特定的员工,索引将帮助您比搜索表中的所有行更快地获得信息。
索引是一种独立的物理数据库结构,它是表中一列或多列值的集合,以及指向物理标识表中这些值的数据页的相应逻辑指针列表。索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对指针进行排序。数据库使用索引的方式类似于您在书籍中使用索引的方式:它搜索索引来查找特定的值,然后跟随指针来查找包含该值的行。在数据库图表中,您可以在选定表的索引/键属性页中创建、编辑或删除每个索引类型。当您保存索引所附加到的表或该表所在的图表时,该索引将保存在数据库中。
您可以基于数据库表中的一列或多列创建索引。多列索引允许您区分其中一列可能具有相同值的行。如果经常同时按两列或多列进行搜索或排序,索引也很有帮助。例如,如果经常为同一查询中的姓氏和名字列设置条件,那么在这两列上创建多列索引是有意义的。确定索引的有效性:检查查询的WHERE和JOIN子句。任何子句中包含的每一列都是可以由索引选择的对象。测试新索引,检查它对运行查询的性能的影响。考虑已经在表上创建的索引的数量。最好避免在一个表上有多个索引。检查已经在表上创建的索引的定义。最好避免包含共享列的重叠索引。检查列中唯一数据值的数量,并将其与表中的行数进行比较。比较的结果是列的选择性,这有助于确定该列是否适合索引,如果适合,还有助于确定索引的类型。
索引的优点:
1.大大加快数据检索;
2.创建唯一索引,以确保数据库表中每行数据的唯一性;
3.加速度计和仪表之间的连接;
4.当使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。
索引类型:
根据数据库的功能,在数据库设计器中可以创建四个索引:唯一索引、非唯一索引、主键索引和聚集索引。虽然唯一索引有助于定位信息,但为了获得最佳性能结果,建议使用主键或唯一约束。
唯一索引:
唯一索引是不允许任何两行具有相同索引值的索引。当现有数据中存在重复的键值时,大多数数据库不允许将新创建的唯一索引与表一起保存。数据库还可以防止添加会在表中创建重复键值的新数据。例如,如果在雇员表中对雇员的姓氏创建了唯一索引,则没有两个雇员可以有相同的姓氏。
非唯一索引:
非唯一索引是一种相对唯一的索引,它允许任意两行具有相同的索引值。当现有数据中存在重复的键值时,数据库允许将新创建的索引与表一起保存。此时,数据库无法阻止添加会在表中创建重复键值的新数据。
主键索引:
数据库表通常有一列或多列组合,其值唯一标识表中的每一行。该列称为表的主键。在数据库图表中为表定义主键将自动创建主键索引,这是一种特定类型的唯一索引。索引要求主键中的每个值都是唯一的。当在查询中使用主键索引时,它还允许快速访问数据。
聚集索引(也称为聚集索引):
在聚集索引中,表中行的物理顺序与键值的逻辑(索引)顺序相同。一个表只能包含一个聚集索引。如果索引不是聚集索引,则表中行的物理顺序与键值的逻辑顺序不匹配。与非聚集索引相比,聚集索引通常提供更快的数据访问速度。
以前称为一般检查、准备检查或启发。构成的基本单位是索引项。项目一般包括三项:索引词、描述或注释、来源。所有索引项排列有序。其本质特征是只揭示内容来源或文献线索,不直接提供事实和材料本身。主要功能是为人们准确快速获取文档提供线索指导。常见的索引主要有报刊资料索引、语料库索引、词索引、句子索引、关键词索引、专有名词索引、话题索引等。
索引最早出现在西方,主要是中世纪欧洲宗教著作的索引。18世纪后,西方出现了主题索引,到19世纪末,内容分析索引得到广泛应用。中国指数出现较晚。一般认为明末傅山编的《两汉书姓名韵》是现存最早的人名索引。清乾隆嘉庆年间,章学诚主张编纂一部群书综合索引。20世纪20年代,随着西方索引理论和编译技术的引入,现代中国的索引和研究开始蓬勃发展。钱亚新于1930年发表了《索引和索引法》,叶弘于1932年发表了《引得说》,标志着中国特色现代标引理论和技术的迅速发展。20世纪50年代,计算机技术被应用于索引。此后,大量机器标引的出现带来了标引理论、技术和标引载体形式的深刻变革。
SQL标准中没有涉及索引,但是商业关系数据库管理系统一般都支持索引机制,但是不同的关系数据库管理系统支持不同的索引类型。
索引已经成为关系数据库中非常重要的一部分。它们用作包含感兴趣数据的表指针。通过索引,您可以直接从表中找到特定的记录,而不是连续扫描表并一次查找一个。对于大型表,索引是必要的。如果没有索引,需要几个小时,几天,而不是几秒钟才能得到结果。
索引是数据库中常用的方法。其基本原理是按照指定的关键字段排序,然后生成索引文件,方便查找定位,提高查找速度。
比如有一个数据库,里面存储了上万客户的数据。这些数据有多个字段,即分为多个项目,如客户号、姓名、身份证、账号、电话号码等。有些是重复的,比如名字,但是身份证号是不重复的,那么我们可以用身份证号作为索引关键字,生成一个索引文件。当我们需要打开数据库时,首先要打开索引文件,找到身份证号及其在数据库中的位置。
索引文件名通常与DATa文件同名,但扩展名不同。像COBOL这样的数据库文件扩展名一般是。dat,而索引文件扩展名一般是。IDX。
全部