数据库索引技术应用

2011-05-08 02:09:36
电子科技 2011年9期
关键词:字符机械制图机械设计

欧 萍

(贵阳学院物理与电子信息科学系,贵州贵阳 550003)

数据库设立的一个主要目的就在于实现对之进行高效的管理。伴随着信息化程度的不断加深,因特网技术的不断发展,数字信息呈现出爆炸式、几何级数增加的趋势,数字信息的存储总量越来越大,这给数据存储及管理技术带来了新的挑战。同时,数据的格式和种类也在不断的增加,而且数据的类型也由简单的字符处理相字符及图像处理的方向发展。面对着这样一个形式,如何保证信息收寻者准确高效地从海量的信息中获取想要的数据,已成为数据库设计人员的首要任务。下面在介绍索引相关的基本概念以及建立索引的优缺点的基础上,对有效地设置数据库索引进行了详细的论述,最后结合具体的实例对数据库索引技术的应用进行了较为详细的阐述。

1 索引的相关概念及建立索引的优缺点

索引的一个主要目的就是加快检索表中数据的方法,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID的辅助数据结构。从数据搜索实现的角度来看,索引也是另外一类文件/记录,它包含着可以指示出相关数据记录的各种记录。其中,每一索引都有一个相对应的搜索码,字符段的任意一个子集都能够形成一个搜索码。这样,索引就相当于所有数据目录项的一个集合,它能为既定的搜索码值的所有数据目录项提供定位所需的各种有效支持。

1.1 索引的相关基本概念

(1)搜索码。它表示的是记录各种字符段的一个集合,它可以是一个或者是多个字符段的任意序列组合,并不是惟一的一个标识记录。

(2)数据目录项。即为索引的相关元素,在建立索引的过程中,数据目录项一般具有各种不同的选择方式。

(3)记录ID。每一个/段索引在存储内容中惟一的一个标识符。

1.2 建立索引的优缺点

1.2.1 建立索引的优点

通过建立索引可以极大地提高在数据库中获取所需信息的速度,同时还能提高服务器处理相关搜索请求的效率,从这个方面来看它具有以下优点:

(1)在设计数据库时,通过创建一个惟一的索引,能够在索引和信息之间形成一对一的映射式的对应关系,增加数据的惟一性特点。

(2)能提高数据的搜索及检索速度,符合数据库建立的初衷。

(3)能够加快表与表之间的连接速度,这对于提高数据的参考完整性方面具有重要作用。

(4)在信息检索过程中,若使用分组及排序子句进行时,通过建立索引能有效的减少检索过程中所需的分组及排序时间,提高检索效率。

(5)建立索引之后,在信息查询过程中可以使用优化隐藏器,这对于提高整个信息检索系统的性能具有重要意义。

1.2.2 建立索引的缺点

虽然索引的建立在提高检索效率方面具有诸多积极的作用,但还是存在下列缺点:

(1)在数据库建立过程中,需花费较多的时间去建立并维护索引,特别是随着数据总量的增加,所花费的时间将不断递增。

(2)在数据库中创建的索引需要占用一定的物理存储空间,这其中就包括数据表所占的数据空间以及所创建的每一个索引所占用的物理空间,如果有必要建立起聚簇索引,所占用的空间还将进一步的增加。

(3)在对表中的数据进行修改时,例如对其进行增加、删除或者是修改操作时,索引还需要进行动态的维护,这给数据库的维护速度带来了一定的麻烦。

2 数据库索引的设置

在数据库结构之中,索引的形式可以简单的理解为是表中数据与相应存储位置相对应的一个列表,它的主要目的在于减少数据库管理系统搜索数据的时间。从数据的搜索方式来讲也可以说是在尽可能确保搜索用户获取所需信息的前提下,最大限度地减少对数据库扫描的区域,以最短的时间从数据库中获取有用的数据。

从索引的结构来讲,可以将索引分为惟一性索引及复合性索引两类。其中,惟一性索引是指全部索引列中各个索引所指向的所有数据具有惟一性,这样可以保证数据不含冗余信息,检索效率高;而复合性索引是指单个索引创建于两个/列或多个/列之上。在检索时,当需要两个/或者多个/列作为搜索的关键词时,最好的方法就是在相关的列上设置复合性索引。

从数据库的相关实际设计经验来看,本人认为只要保证索引内容与结构的简洁性与准确性,只需要设置惟一性索引即可,这样可以有效的保证数据库操作的效率。

例如,在对某机械设计研究院的数据库管理系统进行设计时,用户要求能在同一个数据库之中,在同一个检索过程当中,能够保证实现以“机械设计”、“机械制图”及“机械制造”为索引进行信息的检索、增加与修改。具体的要求是以“机械设计”为主,“机械制图”及“机械制造”为辅。在设计之初,作者采用惯常的复合索引方式,在数据库中将“机械设计”作为主索引,而“机械制图”与“机械制造”作为辅助索引。这种设置方式在数据量相对较小的前期数据库中能正常的使用,对数据库信息检索不存在过大的影响。

但是当数据库运行一段时间之后,数据库中的数据增加,使用者在对数据库进行操作时开始有明显的迟钝感。尤其是在执行相关的数据库编辑操作时,甚至出现了10 s左右的延迟,在对数据进行添加与修改时,延迟现象更加明显。在后一阶段,取消先前的复合索引设置方案,采用于数据库中增加一个专门的数列的方式,将“机械设计”、“机械制图”和“机械制造”三项内容直接进行合并,将此项内容作为惟一的索引。修改之后,在对数据库进行操作时基本上消除了延迟的现象。

但是,随着使用时间的持续增加,数据库的容量增大,在进行信息检索的时候同样开始出现6 s左右的延迟现象。但究其主要原因还是由于数据库所占用的存储空间的增长速度过快所导致的。也就是说,主要原因并不是索引的设置方式上,而是在于索引的内容之上。由于该单位的“机械设计”的字符长度设定为16 Byte,而“机械制图”字符串所预留的字符长度为20 Byte,“机械制造”所预留的字符串长度为30 Byte,这样算来,整个索引的字符长度及达到了66 Byte。这才是导致数据库占用存储空间的增长速度过快的根本原因。因此,可以通过对索引内容的结构进行一定的改造,在同样的软硬件条件下能更加高效地实现数据的检索。

3 索引在数据库检索中的应用

下面主要从复合索引方式对索引在数据库检索中的应用进行论述。

对于多条件的查询而言,通常是考虑采用建立多关键字的复合索引方式,例如下面得检索:select*from table where col1=A and col2=B and col3=C;

根据where之后的查询条件,可以建立下面的复合索引create index idx1 on table 1(col1 col2 col3)。

同时,也可以针对col1,col2以及col3建立其单列索引,这种方式虽然能有效的提高结构的惟一性,但是当整体数据量增加时,其效果就不如复合索引。上面的复合索引就相当于分别建立起如下的单个关键字索引:

检索系统中一般都采用“最左前缀”的结果,也就是说系统是从整个条件查询的最左端开始的,它并不是说只要包含这样三列的查询语句,就都能够用到上面的复合索引,例如下面的语句就用不到:

4 结束语

建立索引是提高数据库查询效率的一个有效方式,正确地使用并设置索引能有效地提高信息的查询效率。同时,冗余的索引将会浪费数据存储空间,给搜索性能带来负面影响。基于这个原因,在设计数据库查询程序时,应该在索引使用的基本原则下兼顾索引的效率和成本,对索引加以合理的使用。

[1]徐从旭.索引在数据库查询中的应用[J].铜陵学院学报,2008,7(3):66-67.

[2]郭伟斌,陈东文.数据库索引技术的研究与应用[J].电脑开发与应用,2007,20(9):12-14.

[3]邓体俊.数据库索引技术的应用[J].电脑知识与技术,2010(36):30-32.

猜你喜欢
字符机械制图机械设计
寻找更强的字符映射管理器
CAD三维转二维在《机械制图》教学中的应用
基于Visual LISP的机械制图自动组卷
机械设计制造及其自动化探究
湖北农机化(2020年4期)2020-07-24 09:07:12
基于工程师启蒙教育的机械制图课改的几点思考
字符代表几
一种USB接口字符液晶控制器设计
电子制作(2019年19期)2019-11-23 08:41:50
自动化技术在机械设计制造中的应用探讨
消失的殖民村庄和神秘字符
多媒体在《机械制图》课中的应用
消费导刊(2018年10期)2018-08-20 02:56:28