APP下载

数据库管理系统中查询优化的设计与实现

2018-12-17杨莹鹃

电脑知识与技术 2018年25期
关键词:核心技术设计

杨莹鹃

摘要:随着信息化时代的到来,数据管理系统逐渐被应用到生活与工作中,特别是信息化建设方面表现更加明显。现今,随着科技的不断发展,我国数据库展现出了自动化、网络化、数字化、智能化、大型化、标准化等几大特征,这也是我国数据库管理系统的发展趋向。对于数据管理的普遍应用,不仅使我国科技得到稳定发展,更使得我国的经济持续向前。其实,国外对于数据管理系统的研究比我国要早很多,在各个方面也先进于我国的数据库管理,即使我国后来对于数据管理研究也不断在发展,但是与国外相比依旧有一定的距离。因此,该文以我国现今主要的数据管理系统OSCAR为主,着重探讨关于查询优化的设计与实现,并提出一些具有实践意义的方案。

关键词:数据库管理;查询优化;设计;核心技术

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)25-0014-03

1 前言

随着我国的信息化技术不断发展,数据库管理系统已经逐渐被广泛地应用到各个方面,特别是在信息化建设上,更是有着突出的表现。并且,随着信息化数据管理系统的不断挖掘,数据管理系统也已经运用到商业领域方面,就我国自己的数据管理系统发展来看,宏观上数据管理应用到商业领域上面一直有着国家的政策支持,比如著名的863计划,就是针对数据库管理的应用而设置的。同时由于科技的不断进步,技术发展对于数据库管理系统的标准与要求也越来越高,因此实现数据库管理系统的查询优化就显得至关重要,并且具有一定的现实意义。因此,本文以查询优化为主,希望找寻最佳的方式,掌握其方法。

2 查询优化的关键技术

2.1 查询优化的一般准则

对于数据管理系统来说,查询效率是其重要部分,而查询优化的方法从一定程度上可以使查询效率得以改善。但无论是从改善的优化程度方面,还是从资源策略方面,这都不是最佳的方案。因此对于数据管理系统的查询优化一般按照其一般准则进行。常规来说,数据管理系统查询优化一般准则有五个部分组成。一是尽量使用优化运算进行,这样从根本上节约了运算时间,进而提高了运算的效率。二是根据实际的数据管理情况,采用合理的连接进行预处理。通常来说,在预处理的过程中会使用两种方法,一种是索引,第二种是分排序合并,在方法选择上根据实际的情况进行挑选。三是在数据统计优化的时候运用两种计算方法,由于是同时进行计算因此就减少了不必要的重复环节,节约时间成本,提高优化效率。四是在运算的过程中,提取相应的相同的子表达式,如果在外部进行子表达式读取时发现比内部速度要快,可以使之变成公共表达式,进而提高了表达的有效性,最终使优化效率得到有效提高。五是构建连接运算。连接运算的构建是在基于笛卡尔积的基础之上。在实际的操作之中,也要根据笛卡尔积的运算原理,使得运算变得更加快捷与方便,有效节约时间,进而使提高优化效率。

2.2 查询优化规则系统

查询优化规则时要根据具体的研究对象与目标而言,其自身的优化规则系统的范围也更加广泛,所以总体来讲运用查询优化系统是从Client/Server结构出发而进行整体的运行,其使整个系统形成一种拥有逻辑的快速计算模式,并且还集合了内存、逻辑等数据为一体,在处理其他方面数据时候也同样适用。然而使用查询优化规则系统的时候可以使一些不明确的数据完成形成最佳效果图,可以运用这种系统用合理的科学方法对不太准确的数据进行处理。尤其是对于我们平时生活中的重写系统,其运用了一项分别于优化和分解之间的特殊系统,使用重写系统可以对用户所具有的查询信息进行分析,运用不同的规则可以进行重写,运用重写系统的时候可以对用户信息进行合理的科学分解和操作,这样可以在最大限度上满足不同客户的不同需求。

2.3 优化处理系统

按照传统的习惯,在处理数据的时候需要对系统进行一定的优化,特别是我们在处理系统的时候需要提前完成一个必要的活动,就是对数据进行优化查询的处理。对于整个数据管理系统的优化处理来说,查询优化处理是其中必不可少的一项工作,这一部分处理放在之前也是为了使其拥有最佳的效果,得到最高的效率。在这种情况下就会出现一定的问题,针对旧的问题又产生了几个具体解决方案,其中主要可以用不同条件和方式对需要的表达式进行计算和处理,在这开始之前可以对目标进行集合之后完成处理,那么针对这些方案,我们在今后进行处理的工作之前需要做的就是将原本的目标列进行完整补充,同时还要使补充后的结构满足查询数据的顺序,使之形成統一性与一致性,这是目标列预处理工作的重点所在。而在进行条件预处理工作之前将原本的表达式所需要的解析和形式改变就需要原先的条件得到改善,那么解析的式子内所存在的NOT往下部移动和去除,但是需要注意的是去除NOT的时候要合理化,不可以使条件表达式发生改变。而在数据集体处理的时候就需要用多种方式进行集合和改善,其分类方式多样,处理工作就比较麻烦,其中最常见的梳理归纳软件有Except、Union等。

2.4 优化逻辑系统查询

对于数据库管理的查询优化处理工作,逻辑优化是其重要的组成部分之一。优化查询系统能够对基本的物理层次进行处理,这样可以解决索引问题与完成优化处理工作的。同时,对于逻辑优化处理来说,完成整个查询优化处理工作是依靠于计算。一般来说,逻辑优化主要体现在AND和OR两个优化过程上。首先就以AND优化过程来说,当需要对AND进行优化处理工作之前,需要将原本包含AND的逻辑表达式全部找出来,找出之后就要对此进行合理的判断与排除,看是否有可以使用的字查询表达式,若其能够被精确地计算出来,对后期的查询优化处理进行运用。在计算出应用子查询表达式之后,还需要合理利用计算结果,将剩余的计算出来,进而使整个查询优化的逻辑优化达到良好的运用效果。若没有的话,可以使用扫描模式进行计算,这样也可以实现最终的逻辑优化目标,完成相应的处理工作。而OR也是如此,也是利用子表达式来进行计算,并且也是依照索引进行处理工作。但是无论是从OR还是AND的角度来看,双方之间的工作处理方式具有较强的相同性与一致性。详细来说,就是这两种优化方式所产生的过程都是依靠子表达式的查询,并且都是使用索引而进行的后续工作。但是OR与AND还是有一定的区别性。对于OR来说,如果没有的话,是在子查询表达式的标准之下,得到一个较为中间化的结果。并且原本的表达式顺序要做出合理的调整与改变,这个改变是依照所得的中间结果进行调整的,这样可以使最终结果获得相应的查询优化的逻辑优化的处理效果。如果有的话,就与ADR一致,采用索引来获得所需要的中间数据。

3 管理数据库优化查询管理系统

总体来说,我们在处理数据的时候需要对数据进行一定的优化和设计,并且在查询和实现的基础中,最为重要和最为关键性的工作就是将数据进行汇总计算,那么在实际操作的过程中最重要的就是将表达式和计算方式进行優化,否则也会出现较大的区别,甚至可以这样说,每个算法对应着不同的查询优化的结果,具有极强的针对性。因此,笔者结合多年工作经验,从存取方法路径和SYSTEM-R代价估算算法分析有以下方法进行分析。

3.1 分析储存的方法和路径

整个系统中进行检索和选择的时候需要对其计划和结构进行分析和选择,那么在数据储存和检索的过程中其储存方法十分重要,对于如何使用查询和储存设备来说,需要构建在一个基础的上面。就以OSCAR的常规系统来说,它具有三种类型,分别是索引和扫描的时候需要运用不同的方法进行扫描,这样可以按照不同的扫描顺序在工作阶段中,首先会对信息表内中所包含的各种元祖进行数据处理,那么就需要对不同的数据材料进行一定的分析和观察,保证用最佳的数据满足其标准。对信息进行详细地扫描,确保其有效性。但是由于全面性的扫描不仅工程量大,所需要的时间也随之较多,因此在此基础上,我们可以使用较为常见地多块取读的方式,使结构可以更加快捷和有效地获得与取到,这样不仅可以提高了时效性,更加使工作效率也得到稳定提高。另外根据处理数据得出的结论进行扫描,这种方式提高效率,能够在扫描的时候实现单列和多列表格共同建立,还能对数据进行访问,系统可以将不再表格内中的索引数值扫描出来,并且做出科学的执行。同时,由于各个方面的有不较大的不同,因此在其使用的时候也是在一定的范围内进行使用,那么用这种方式最方便与快捷的,因此运用也最为广泛。

3.2 用SYSTEM-R 代价估算算法进行计算

数据进行优化的时候需要运用SYSTEM-R进行计算,那么这种方法就需要我们认识到其中重要最重要的问题,尤其是这种算法又是SYSTEM-R算法中的关键所在,其数学表达式为Cost=P+W*T。在这个数学表达式当中,我们把W表示为权重,而字母P表示了I/O所开销,字母T代表了CPU所开销。因此,这个数学表达式一般用在对于查询当中开销的关注与重视问题的上面。但是P和W的数值在不同的查询优化上面其变化结果和优化寻找的答案存在差异,那么其重要原因需要代价估算算法主要是因子变化所致,在这种算法下也有以下三种情况。首先就是当面对r.field>value时,需要选择运用表达式最大值、平均值进行计算;然后是当r.field=value时,而选择因子为I/(定义在r.field上的索引表中的T);最后就是当面对用表达式对其进行计算,具体可见表1。

4 实现优化数据管理系统

4.1 数据使用性能

对于数据库管理系统来说,查询优化是一项综合性的工作,其工作范围也较大。在查询优化的设计上面,查询数据可以将常数和基数不同的变化进行查询,但是数据依旧是具有一致性的,因此在数据库管理系统中,为了提高查询效率,可以将常数考虑到这个范围之内。因此,当对常数到达指定的范围之内后,根据相同的查询语句进行使用,只需要调整合理的常数即可,从而有效地节约工作时间,提高工作效率。尤其是在面对同一模式的语句当中,更可以使用常数变化。在实际的工作之中,针对同一模式,只要使用相同的分析方法可以提高效率,还能节约一定的人力、物力。那么此时在优化数据的时候就需要我们进行计算的缓冲,在优化的时候得到数据能够得到全新的并且更加精确的数据,引索数据的时候可以只做全新的数据,确保正常工作与运行,以此来使数据库管理系统的优化查询得到有效的提高。

4.2 体系结构设计

按照常规来说,数据管理库主要有三个阶段。首先阶段是通过指令和数据能对通信库进行处理,在这三个方面中构成了数据管理库的主要部分,更是体系结构设计第一部分的重点。第二个阶段就是关于SPC的查询缓冲板块,这也是系统结构设计的难点。第三个设计阶段就是最后的查询执行阶段,也是最终设计的最终结果出来模块。优化每个阶段的时候都可以通过资源共享和数据交换等方式当作参数,完成数据的计算。

4.3 计算方法

为了使数据库管理系统变得更加高效,那么就需要查询优化的处理工作具有更强的有效性和实时性,进而促进查询的最终结果可以达到一个最佳的效果和较高的效率。笔者对此关键算法上面引入了hash函数,确保查询语句和语法数的正确性。其实在使用hash函数之后,使运算情况变得更加便捷与灵活,保证表格和数据的相同性质,同时,通过一串数据不同的计算方法来计算,得到的数据符号更加精确,这些数据确保了函数形成最高效的状态与情况,更是使整个查询系统的整体得到了较大地提高,最大程度上的优化其效率。因此,使用hash函数之后,对于查询的效率提高与优化是尤为重要的,也为客户带了更加高质量的服务。但是,如果hash函数设计的并不科学合理,也会造成一些系统内部数据的冲突,进而降低其工作的效率。笔者对此以一款计算和函数为例子如下图所示:

unsigned int hash(char *str)

{

Register unsigned int h;

Register unsigned char *p;

for(h=0,p=(Register unsigned char *)str;*p;p++)

h=*p-h+h << 5;

return h;

}

5 结语

随着我国经济和科技的快速发展,数据库管理系统的运用也变得更加普及与广泛,尤其是在信息时代的今天,数据库管理系统已经变得至关重要,其已经融入人们的工作与生活中。在这个背景之下,数据库管理系统的查询优化设计与实现显得尤为重要,甚至可以说只有高速的运行和强大的优化处理功能,才可以使数据库管理系统变得更加高效。虽然我国的数据库管理系统起步较晚,与国外的相关方面的差距较大,但是我国已经意识到了数据库管理系统的查询优化的重要性,已经从核心技术出发,不断深入化研究,最大程度地缩小与国际数据库管理系统之间的差距与距离,这也是我国数据库管理系统真正走出国门,走向国际,使它成为我国竞争科技强国的重要技术支持之一。

参考文献:

[1] 王春凯,孟小峰.分布式数据流关系查询技术研究[J].计算机学报,2016,39(1):80-96.

[2] 史英杰,孟小峰.云数据管理系统中查询技术研究综述[J].计算机学报,2013,36(2):209-225.

[3] 刘芬.数据库管理系统中查询优化的设计和实现[J].信息安全与技术,2014,5(2):82-84.

[4] 金澈清,钱卫宁,周敏奇,等.数据管理系统评测基准:从传统数据库到新兴大数据[J].计算机学报,2015,38(01):18-34.

【通联编辑:代影】

猜你喜欢

核心技术设计
习近平:坚决打赢关键核心技术攻坚战
何为设计的守护之道?
瞒天过海——仿生设计萌到家
提升变电站一次检修核心技术的研究
设计秀
有种设计叫而专
颠覆式创新: 集汽车级十项核心技术的ROBYF1
通用网络教学系统及其核心技术研究
欣锐特:掌控新能源核心技术
设计之味