基于直接连接的查询优化处理方法研究

来源 :科技尚品 | 被引量 : 0次 | 上传用户:catshadow6
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:在分布式数据库查询中多采用直接连接的方式,但是这种方式耗时较长,代价较高,查询效率低。本文结合现有的连接查询方法,深入研究基于直接连接的查询优化处理方法,有效缩短查询处理时间。
  关键词:直接连接的查询;优化处理;方法
  近年来,分布式系统得到了广泛的应用。分布式信息库查询是现代信息处理中的重要部分。在分布式数据查询处理时,连接操作能够直接决定查询效率。为实现分布式数据库系统更加有效地处理连接操作,业内人士进行了大量的探究实验,最终形成了不同的算法。优化连接操作的途径一般有两种,即半连接与直接连接。在注重本地处理代价时,一般采用直接连接的方式。本文针对直接连接提出了优化算法,并利用数据分片进行并行处理。
  1 数据分片
  数据分片,即数据划分,是分布式数据库的主要特征之一。各个局部数据库按照一定的逻辑组合成全局数据库。反之,全局数据库按照特定的逻辑进行分割即成局部数据库。通常来说,在关系数据库中,一个关系能够将某些数据间的逻辑关系描述出来。但是,由于用户使用的站点不同,需要该关系中的元祖也可能不同,此时就需要分割这个关系,将得到的各部分元祖称为逻辑片段,满足各个用户要求,减少网络通信量,提高系统响应的速度。
  数据分片有4种方法:①水平分片:按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段;②垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上作投影运算,每个投影称为垂直分片;③导出分片:又称为导出水平分片,即水平分片的条件不是本关系属性的条件,而是其他关系属性的条件;④混合分片:以上3种方法的混合。可以先水平分片再垂直分片,或先垂直分片再水平分片,或其他形式,但他们的结果是不相同的。
  数据分片应该具备的条件:①完备性条件:必须把全局关系的所有数据映射到片段中,决不允许有属于全局关系的数据却不属于它的某一个片段;②可重构条件:必须保证能够由同一个全局关系的各个片段来重建该全局关系。对于水平分片可用并操作重构全局关系;对于垂直分片可用联接操作重构全局关系;不相交条件:要求一个全局关系被分割后所得的各个数据片段互不重叠,但是对垂直分片的主键除外。
  2 查询优化处理的目标及执行代价
  2.1 查询优化目标
  基于直接连接的查询优化可能涉及多个站点,查询优化的目标一般有两种:总代价最小。总代价包括CPU及I/O代价、网络在各个站点之间数据传输的代价。因为数据在分布式数据库中是分布、冗余的,在直接连接查询处理时需要考虑数据及信息传递所产生的通信费用;另一种目标即响应处理时间短,由于数据的分散及冗余,并行处理的可能性很大。由于系统应用不尽相同,通常着重与实现一种目标。本文致力于达到总代价最小的目标。
  2.2 查询执行代价
  主要包括:I/O代价、CPU代价、通信代价。
  查询执行代价模型包括:I/O代价模型。一次訪问代价计算可通过CIO=DO+D1*X(DO表示I/O代价,与X无关;X为存取数据大小;D1表示传输单位数据所花费的时间),在实际优化过程中,由于代价只用于进行执行方案的优劣比较,因此不必算出精确数值,得出一个估算值即可;通信代价模型。这种模型与网络类型有关。可简单表示为:Cc(X)=CO+C1*X(CO为代价系数;X为数据大小;CO为数据传输所需要初始代价;C0与C1为常数)
  3 基于直接连接的查询优化处理方法
  3.1 实现连接运算的方法
  3.1.1 嵌套循环
  嵌套循环是一种古老的连接方式。SQL中的连接,本质上就是将两个数据集合依据连接条件进行匹配操作。嵌套循环通过两层循环手段进行依次的匹配操作,最后返回结果集合。其操作过程简单,与最简单的排序检索算法类似。执行过程如下:Oracle CBO首先将一系列的连接关系,拆分为若干层的Nest Loop Join,确定连接顺序。如a.field1=b.field1 and b.field2=c.field2,就可以组织成表A和表B先进行嵌套循环操作,之后操作的结果集合再与数据表C进行嵌套循环操作。所以,我们查看到的连接操作,通常都是分层次的;在确定每次嵌套循环的两端对象之后,确定外侧连接表和内侧连接表。将外侧连接表作为连接驱动表,根据SQL中对驱动表的连接条件,进行筛选。最后获取到驱动表数据集合;从驱动表每条记录入手,检索内侧表记录,获取符合连接条件的记录。形成连接行。
  3.1.2 归并扫描法
  按照连接属性对两个关系进行排序,再根据连接属性值的顺序对这两个关系进行扫描,匹配成元祖。此方法使排序代价增加。将相同连接属性的元祖缓冲起来以便下次使用。
  3.2 连接关系的传输
  3.2.1 全体传送
  传送关系的字节数产生传输费用,分为传输内关系与传输外关系。
  3.2.2 按需传送
  即将元祖按照传输需要一次一个进行传送,无需建立临时储存器。但是由于每次提取元祖都要进行一次信息交换,代价很高,仅可在高速运行的局域网中才能使用。
  3.3 执行场地
  执行场地包括:传送I关系的Site(O);传送O关系的Site(I);传送O关系和I关系的Site(other)。
  4 结语
  文章以实现总代价最小为目的,基于直接连接的查询方法进行优化处理。在实际操作中,没有必要算出精确数据,大致估算即可,选择总代价小、节省时间、具有可行性的方案。
  参考文献
  [1]乔百友,邓增安,王秋杰,等.一种基于网格索引的空间连接查询处理优化算法[J].小型微型计算机系统,2014,35(10):2243-2248.
  [2]赵宇兰,柳欣.基于连接依赖信息的分布式连接查询优化算法[J].现代电子技术,2016,460(5):28-32.
  [3]姚剑芳.案例教学法在SQL Server连接查询教学中的应用[J].吉林省教育学院学报旬刊,2015,(3):81-82.
  (作者单位:北京信息职业技术学院)
其他文献
20世纪90年代以后,世界各国贸易不断扩大,国际间科技交流频繁,资本流动加快,经济金融相互渗透,使得世界各国和各地区间相互依存关系更为突显。这种经济全球化和技术一体化的趋势对
伴随着中国加入世贸组织后全方位的市场化转变以及体制改革的不断深化,银行业同业竞争逐步升级。各商业银行的兴起以及外资银行本土化经营步伐的加快,国内银行业的人才竞争逐渐
当今社会,机械制造业是整个社会的基础行业,其发展水平直接关系到社会的整体发展水平.近些年,随着工业化进程的持续推进,对机械设备的性能需求与日剧增,促使机械制造业加强对
摘 要:随着机械力学、材料科学等学科的持续发展,机械传动技术的改进与发展作为一项长期工作得到了更多重视。本文就机械传动技术的相关知识以及发展进行了简要地阐述分析。  關键词:机械;传动技术;改进  1 机械传动技术概述  机械传动技术是一项系统性的技术,发展到现在,传动机构从初期的齿轮传动拓展到带式传动、磁力传动等,实现传动结构的优化和传动效率的提升,为机械设备制造业的发展提供极大的帮助。  1.
双鸭山矿业集团集贤煤矿是建于20世纪70年代的老矿,井下开采多年,随着全国煤炭形势的好转,生产工艺日渐提高,产量较原设计增大了许多,从原设计120万t到现在的180万t,井下运输战线长
在邮政的干线运输网中,铁路运邮方式不仅规模大,而且具有点多、面广、线路长等特点,铁路运输在干线邮运网中历来都扮演着极其重要的角色,是干线邮件运输的主力。近年来,随着
本文首先分析了自动化设备调试所具有的重要意义,然后具体探究了地区电网厂站端自动化设备的调试方法,并给出了具体的完善对策,希望能够对提高自动化设备的调试水平提供一定
本文提出了一种移动机器人利用超声波传感器进行特征提取的环境建模方法.超声波采取固定式声呐环布局,由于超声波传感器的性质,这种布局过去通常无法得到障碍物的准确方位,为
休闲产业链整合是推动休闲产业链上下游关系一体化的过程,有效的整合能使处在不同价值链环节的各个休闲企业紧密联系在一起,形成协调优势和规模优势,从而降低成本、优化资源配置
期刊