子查询优化 DM7加速业务处理

来源 :中国计算机报 | 被引量 : 0次 | 上传用户:qt393761474
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  随着信息化的普及,信息系统覆盖到各行各业,而根据实际业务的需求,数据库的查询方式越来越复杂。
  子查询在数据库复杂查询中的使用频率较高,且子查询的性能会直接影响到业务处理的效率。如果数据库内部可以对子查询进行优化处理,大有好处:一方面可以大大减少技术人员的工作量,另一方面还能降低SQL语句的复杂度。达梦DM7对子查询进行了大量优化处理,提升了子查询的性能,进而提升业务处理的效率。
  选择极优连接方式
  相关子查询可以转换为四种半连接:哈希半连接、索引半连接、嵌套半连接、归并半连接。(注:本文对子查询的描述使用术语内表和外表。在子查询内出现的表称之为内表;只在子查询之外出现的表称之为外表。)
  相关子查询优化处理最后阶段会选择极优的连接方式。选择连接方式时,首先根据连接条件确定采用何种连接方式,等值连接条件会选择哈希\索引\归并半连接,非等值连接条件会选择嵌套半连接;然后,对各种连接方式根据代价算法进行代价计算;最后,比较各种连接方式的代价,以此为依据,选择代价最小的连接方式,作为最终执行计划的连接方式。
  哈希半连接、索引半连接、归并半连接和嵌套半连接,这四种不同半连接的特性分别如下:
  一、哈希半连接。哈希半连接是以左表的连接列为key构造哈希表,右表的连接列进行探测来查找满足连接条件的记录。
  二、索引半连接。如果子查询的连接列为索引前导列,则可以转换相关子查询为索引半连接方式处理。处理过程为外表的数据对子查询使用索引查找,满足条件的记录返回。
  三、归并半连接。如果相关子查询的连接条件列均为索引列,则可采用归并半连接来实现。按照索引顺序,对外表、内表进行同步扫描,选择满足连接条件的记录,再根据过滤条件进行过滤得到最终结果,经过一趟归并即可完成。
  四、嵌套半连接。如果连接条件为非等值,则可转换为嵌套半连接方式处理。处理过程为外部表的单条记录去遍历内表,满足条件的记录返回。
  除此之外,还包括一些优化,例如相关子查询可以转换为哈希左半连接和哈希右半连接。其中,当子查询的代价小于外表时,会采用哈希右半连接处理。处理过程类似哈希左半连接。
  优化前后处理方式对比
  DM7相关子查询的优化机制基于多种半连接方式和优化机制,覆盖了较多的可优化场景,极大地减少了应用开发人员对SQL语句等价改写的工作量。此优化机制在各种测试中均取得较好的效果,与优化前相比在性能上有数量级的提升。
  下面对优化前后的不同处理方式进行对比:
  优化前:以外表驱动,从外表每取一条记录,遍历一遍内表,按照过滤条件判断是否满足,如果满足则输出,否则不处理。相当于内表和外表做了一次笛卡尔集,在大数据量情况下,执行效率非常低。例如,两张60万的数据表执行子查询,笛卡尔集会产生3600亿条记录,对这3600亿条记录进行过滤,计算量和I/O量都是巨大的,执行时间长。这是无法让用户接受的。
  优化后:对于相关子查询的优化思想是转换为半连接进行处理。执行过程为:读取外表的一批数据;把满足连接条件的记录打上标记;处理完本批数据,返回有标记(in/exists)或无标记(not in/not exists)的记录;循环处理步骤1到步骤3,直到外表数据处理完。
其他文献
一直有媒体在报道,中国的建筑物平均寿命只有30年,而国外有的地方的建筑物寿命则在百年以上。让我印象最深刻的是青岛这个城市的市政建设,据说100年前德租界内的地下管道系统至今还在使用。回到ERP领域,企业信息化的历史在中国已经30多年,如果拿一个人来说,这算得上是三十而立了,但对于信息化领域来说,许多CIO面临着诸多烦恼,其中之一就是5年或者是10年以前上线的系统(我们也称之为历史系统)现在该如何持
项目概况   政务外网是政府电子政务工程的重要组成部分,旨在通过整合网络将全县跨部门、跨地区的信息资源共享,促进政府服务水平的提高。  政府外网不仅能够对县政府的办公自动化OA Web服务器网站和数据库服务器进行服务器负载均衡等流量管理,还能让不同部门的Internet应用系统和政府网站的Web信息安全地对外发布。政府部门可以利用负载均衡和双机热备技术,使外网的访问安全、快速、稳定。  此外,政府
中国电信OSS资深专家江义杰是软件平台的资深实践者。中国电信业务复杂,高度依赖IT,软件系统数量众多,软件平台帮助中国电信应对快速变化的业务需求。“从传统意义上的中间件到真正的应用软件这一层上,现在缺乏更面向业务的软件平台。”江义杰对软件平台有着颇深的思考。在6月17日主题为“SOA、平台到云”的第四届“SOA中国论坛”上,江义杰将他对软件平台的思考分享给听众。    20人对应2000个需求  
IDC、Gartner等调查机构的调查显示,几乎有90%的企業不了解自己在打印方面的支出,同时用于支付打印的费用却占到企业营收的3%,而那些主动实施打印成本管理的企业可以将这项支出减少至少30%。由此可见,企业对打印的有效管理将可以大幅降低企业成本。惠普推出的HP Officejet Pro 8500A就是以降低用户的打印成本为出发点的。    打印成本比激光还低    8500A最值得称道的就是
自牌照发放至今,3G已走过了3个年头。3年来,3G在商用市场的表现可谓喜忧参半。一方面,3G所带来的新通信模式让物联网、云计算这些人类过去的梦想开始得以成真,与移动互联网相关的个人应用也因3G而出现百花齐放之势;另一方面,3G的企业应用却一筹莫展,尽管各种企业级3G路由产品已经面世,但在使用这些产品上线3G应用时,部署、安全、管理等问题却在不断困扰用户。  针对这些问题,近期迈普正式发布了包括3G
目前,我国有4300多万家中小企业,占到企业总数的99%。大多数中小企业在选购打印机时,基本都是选购桌面级打印机。无论是激光打印还是喷墨打印,都是非常成熟的技术。而LED打印属于新兴的打印技术,但这几年快速发展之后,其技术也非常成熟。  过去大家普遍认为,商业用户在选购打印机时,往往优先考虑激光打印机或者LED打印机,而家庭用户往往考虑喷墨打印机。但是技术的不断进步,使不同类别打印机之间的技术差距
两年前,记者曾组织专题研究探讨ITSM的绩效考核之惑。记得专题中曾说,指标难量化、标准不统一、结果无实效等绩效考核自身的痼疾再加上IT管理工作本身的复杂性,让IT的绩效考核成为管理的死角。    拿什么来考核CIO    近日,记者听到这样一则趣闻:一位CIO在聊天时说,年底全公司做绩效考核,考核他的两个指标让他苦笑不得——员工出勤率和成本节约率。IT部门员工的出勤率还是很高的,于是第一项指标他是
2011年度  中国行业信息化最具成长力企业奖  全程软件是致力于企事业单位管理软件一体化、应用网络化、商务数据化的软件高新技术企业。经过多年的不断研发及对软件精益求精的质量追求,公司力使每一款软件达到并超越国际一流管理软件的标准和质量,建立全程软件在世界管理应用软件中的领先地位。    广州市全周至程软件技术有限公司(以下简称全程软件)是一家拥有自主知识产权的一体化办公管理软件开发商。它推出的全
让人们在任何时间、任何地点都可以获得数据、图像和语音信息,这就是统一通信的核心。统一通信系统将语音、传真、电子邮件、移动短消息、多媒体和数据等所有信息类型集合为一个整体,可通过电话、传真、手机、PC、移动终端等设备中的任何一种进行通信,在有线、无线、移动网络之间架构起一个信息互联的通道。  目前统一通信系统已经拥有大量的企业用户,随着IP技术的成熟应用,统一通信将获得更大的发展空间。统一通信的主流
麒麟天云高性能计算系统是在国防科技大学“银河”、“天河”系列超级计算机研究成果的基础上开发的适合中小规模应用需求的高性能计算系统。该系统采用了自主研发的麒麟操作系统和麒麟HPC套件,支持InfiniBand高速计算网络,支持国内外主流的高性能服务器、刀片服务器、大容量存储、高速网络交换等硬件设备,提供任务与资源管理、HPC集群管理、并行编译、并行计算等功能,满足大规模科学计算和海量数据处理的应用需