APP下载

基于关系数据库的查询优化研究

2018-02-26◆刘

网络安全技术与应用 2018年2期
关键词:元组关系数据库表达式

◆刘 鹏

基于关系数据库的查询优化研究

◆刘 鹏

(广东省机械高级技工学校 广东 510450)

数据库技术在行业范围内的应用越来越广泛,为数据的整理与使用提供了很好的途径。在数据库的所有技术组成之中,查询功能是最重要的技术组成部分,是关键的技术环节,也是最受人们青睐的技术功能。关系型数据库是数据库组成中的最主要的类型。针对数据库的查询优化也是提升数据库功能效率的主要途径。本文对关系数据库的查询优化进行了深入的探究,希望对读者有所帮助。

关系数据库;查询优化;研究

0 引言

国民经济发展迅速,人民生活水平得到了有效的提高,科学技术发展迅速,知识信息以惊人的速度更新着,这种信息发展趋势给人们信息数据的更新与存储工作带来了一系列的挑战。针对这种信息发展趋势,人们普遍采用数据库技术来进行数据的操作与整理,数据库技术在众多行业部门里普及度越来越高。与此同时信息背后带来的价值也越来越受到人们的重视,在数据库中对信息最主要的操作是查询,数据查询效率的提升可以有效地提升各大信息平台的运行效率,对数据查询的优化是数据库研发部门人员最为关注的问题,本文针对关系数据库的查询优化进行了深入的研究,希望对读者有所帮助。

1 数据查询过程

查询是数据库最主要的操作环节,关系数据库作为数据库的重要类型,自然也不能例外,关系数据库针对数据用户进行的数据应用采取的具体操作过程包括四个方面。

首先是查询分析操作,在数据库的查询过程中,首先要做的是辨别查询用户输入查询指令的格式准确性,对于不符合查询指令格式要求的查询语句则不能获取查询数据。在查询指令的分析过程中,主要涉及到的是语法与句法两方面的分析,从而确保指令的规范性。然后通过查询代码的生成,来实现查询查询结果的获取,最终完成查询执行过程。在查询重写这方面,需要根据SQL数据的变化情况,逐步减少其中中间结果的变化情况,并对查询目标进行设定。其优化结构图如下图1所示:

图1 优化结构图

在整体的查询过程中,我们可以举例进行实践,让整体的查询转化效果更为良好、精确。在查询转化的过程中,需要根据不同的数据进行较为精确的计算。同时,在查询的过程中,需要遵循SELECT语句。

2 数据库查询优化策略

2.1关系表达式的优化

关系表达式的优化对于查询过程的优化作用是十分明显,查询过程的代数式的变换对于查询结果的优化作用也是十分明显,因此不仅要注意代数式的变换,同时还要注意查询过程中代数式运算顺序的合理安排,通过关系表达式的运算程序以及表达式内容的优化来实现查询效果的优化。在代数表达式的等价优化过程中应该遵循以下原则,首先应该坚持选择运算优先的原则,从而实现对数据元组的仔细甄别,选取数据处理量,从而实现数据处理量的有效控制。同时对于多个选择运算或者多个投影运算应该坚持批量化进行的原则,这样有利于查询次数的降低以及查询效率的提升。需要注意的是投影运算除了可以和选择运算同时进行,还可以和双目运算有效的结合在一起,从而可以有效的减少投影表的次数。除了以上方式,将选择运算和笛卡尔积运算结合在一起也是一种有效的优化方式。同时还需要对中间运算结果进行有效的简化。我们可以从实例出发来看关系表达优化的整体情况。

在表达式的整体操作时,首先需要对模块计算公式进行较为明确的数据评估。估算公式要考虑几个重要的输入参数,例如缓冲池的大小、关系或索引的大小、有关每个操作本身的代价估计。遵循的公式如下:

(1)投影大小的估计:投影为每个变元元组产生结果数据,输出大小取决于元组的长度。

(2)选择大小的估计当s=Cas(R),其中A是R的属性,C是一个常量,则:

T(S)=T(R)lV(R,A);

当s=}a

T(S)=T(R)l3;

当sonA }c (R),则:

T(S)=T }R)或T}S)=TAR)(V(R,A)一1)/V (R ,A).

2.2查询策略的使用

除了关系表达式的优化,还需要进行查询策略的有效使用。

(1)首先应该合理有效的使用索引:索引的使用使得数据库用户的数据存储效果得到了有效的改善,索引针对数据库中数据的存储属于分散式的,通过索引的使用使得数据库的数据存储查询得到了很大的优化,索引的使用也使得数据文件的磁盘频率大为降低。数据库索引的创建有其自身的原则、步骤:首先要对字段进行连接次数的判断,从而确定索引的创建方式,选择是自动生成还是手动创建,尤其是对于那些频繁使用的列,一定要进行索引的创建来实现查询的优化。同时也要注意索引创建的合理性,避免过多地创建不必要的索引。同时针对多个待排序的列,可以采取建立复合索引的形式。

(2)然后是视图的使用和存储过程的把握:视图可以有效的简化数据查询的过程,视图作为一个虚拟表,实现了物理数据的简化,对于一些经常使用的查询可以进行视图的整合,来实现视图查询的简化,从而实现了查询范围的有效控制以及查询效率的有效提升。自定义存储过程也为用户的存储需求提供了有效的途径。自定义存储过程的优化体现在:可以对存储过程进行有效的分析与优化,与此同时在已有的存储过程之上,无需进行新存储程序的重复输入分析与优化,因此将原有的查询以存储过程的方式进行存储,可以有效的提升查询的效率。

(3)最后是数据冗余的合理避免:通过数据库的合理高效设计,可以很大程度上避免冗余数据的产生,从而实现存储结构的优化。

3 基于关系数据库的关键词查询以及算法优化应用

3.1蚁群优化算法

蚁群优化原理的历史较为久远,其基本理念在于对蚁群觅食的研究,当一只蚂蚁发现食物信息的时候就可以在蚁群内大范围的传播,从而实现蚁群对食物的寻觅与索取。应用该原理实现了蚁群优化算法的研发。通过该算法实现了对简单信息的研发与应用,从而实现了对实际问题解决办法的创新与优化。经过进一步的优化,蚂蚁算法发展成为蚂蚁优化算法,蚁群优化算法在求解关键词查询的应用原理可以概括为覆盖清除法,通过查询范围不断缩小,最终实现查询结果的获取以及查询过程的优化。

3.2概念漂移原理的应用

在查询概念的理念优化过程中,需要根据条件值得层面变化,加强整体的查询数据优化。在选择条件方面,可以采用多个不等值得变化研究进行等价的数据控制。当选择条件C是多个等值与不等值比较的AND其效果是结果的大小估计是原始关系的大小乘以每个案件的选中率因子。该因子对于任何不等值比较是1/3 ,当选择涉及OR条件时,则取关系R的大小与分别满足条件C,和C:的元组数之和这两者中的较小者;一个稍复杂但更准确的对下式的大小估计是假设C,和CZ相互独立:s=W n2,并且若R有n个元组,其中有m,个满足C,,有m:个满足CZ,则估计S中元组的数目为:n (1- (1-m,/n )(1-m2/n ))。因此,在进行数据的查询中,需要相配相应的期望指数。其整体的公式如下:

从整体上来看,其不同关系的任意参数具有不同的公共属性。在自然连接的情况下,需要对RCS的大小进行初步的估计。对于每一个R与S的数值都需要进行取值的计算。从而使得数据库的参数更为准确。并且在查询过程中的速率以及准确率都能得到显著性地提高。

4 关系数据库查询优化案例分析

某数据库由于查询工具较为传统,其信息查询体系还不够完善。操作员在进行操作的过程中,还需要进行人工查询比对分析,查询的效率十分低下。为了能够让查询的工具得到优化,公司后台采用多种结构优化方式,让查询的平台逐步的自动化、清晰化。其优化方案如下:

在整体的计算过程中,其通常会具有不同的优化方式。其数据库对应的算法一般也可以分为两种。分别是SMJ算法和INL1算法。数据库对这两种算法都进行了综合性的改进。并不需要从内表的第一个元组开始,只需要从上一次的扫描始点开始搜索即可,这样充分发挥超高速缓存(cache)的作用,因为下一次的搜索元组与上一次的扫描元组重叠。这样命中的概率非常大;而INL1算法是随机存取,计算率也十分的准确。其查询优化结构图如下图2所示:

图2 查询优化结构图

数据库主要对扫描的长度及搜索的长度进行分析,并对开始码进行相应的体系控制。在进行多重的搜索扫描以后,会将查询的内容进行迅速的信息反馈。比传统的手动输入及信息比对要快捷很多。在查询结束以后,可以扫描结束码,这样不仅保证了信息的安全,而且还使得查询精准率得到提高,最终使得扫描的效果更为显著。

5 总结

查询优化技术是数据库中一项重要的技术。对于的查询要求,我们应该根据数据规模大小、具体的物理存储结构等因素进行分析,选择合适的查询策略。具体的SQL查询语句应根据代数优化的相关原则进行变换,提高查询效率。查询优化的目的是为了提升系统的性能,如果进行优化本身需要花费的代价过大,反而会降低系统的性能。所以只有兼顾了查询效率、控制系统开销、保障数据库安全等诸多方面才能真正地优化系统的性能。

[1]林子雨,邹权,张珊珊.浅论关系数据库中关键词查询结果动态优化[J].现代计算机,2011.

[2]王能斌,马士平,任兴达.关系数据库查询方法研究[J].山西师范大学学报:电子设计工程,2017.

[3]萨师煊,王岚珊,任兴辉.数据库关键词搜索新技术研究.软件学报,2015.

猜你喜欢

元组关系数据库表达式
关系数据库在高炉数据采集系统中的应用
Python核心语法
一个混合核Hilbert型积分不等式及其算子范数表达式
表达式转换及求值探析
关系数据库技术在计算机网络设计中的应用
一种基于时间戳的简单表缩减算法∗
海量数据上有效的top-kSkyline查询算法*
浅析C语言运算符及表达式的教学误区
基于减少检索的负表约束优化算法
一种基于数据图划分的关系数据库关键词检索方法