查询处理操作中利用辅助属性进行查询重写的方法和设备技术

技术编号:2864394 阅读:283 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了用于在数据库查询处理操作期间重写查询,以包含原始查询中所没有的辅助属性,从而提高处理效率的方法和设备。例如,在本发明专利技术的一个方面中,查询处理操作中重写查询的技术包括如下步骤。首先,根据数据组的至少一部分对查询进行处理,从而产生查询结果。其次,对来自查询结果的数据属性进行分析。最后,在查询中添加来自至少一个辅助数据属性的至少一个新谓词。

【技术实现步骤摘要】

本专利技术涉及数据库和其他信息系统中的查询处理操作,尤其涉及在数据库查询处理操作期间重写查询以包含一个来自数据属性的新谓词(predicate)。
技术介绍
鉴于在线商务事务处理量的增长,数据库、数据仓和其他信息系统中所存储的大量数据的查询处理效率变得越来越重要。从1970年代末以来,在整个学术界和工业界,一直在坚持进行有关研究独立式数据库、分层式数据库、分级式数据库、空间数据库和万维网上的数据库中的有效查询处理操作的研发活动。所报告的查询处理技术的综合评论可以从多个来源得到,例如可以参见G.Graefe,“Query EvaluationTechniques for Large Databases,”ACM Computing Surveys,Volume25 Issue 2,1993年6月;和D.Kossmann,“The State of the Art inDistributed Query Processing,”ACM Computing Surveys,Volume 32Issue 4,2000年12月。数据库查询处理操作通常包括6个阶段语法分析、语义检验、查询重写、规划(plan)优化、规划细化和查询评估。在查询处理操作中重写查询的原因可以从多个参考文献中看到,例如可以参见L.M.Haas等的“Extensible Query Processing in Starburst,”ACMSIGMOD Record,Volume 18 Issue 2,1989年6月。查询重写的一些原因包括1.查询的备选表达法(phrasing)由于相关查询语言是非过程语言,因此备选可等效使用;和 2.查询中涉及视图抽象由于视图定义对于查询作者是隐藏的,因此涉及视图的查询只能由数据库进行展开(expand)。传统的查询重写策略的焦点在于查询谓词中所出现的属性的重写和优化,例如可以参见G.Graefe等的“Dynamic Query EvaluationPlans,”ACM SIGMOD Record,Volume 18 Issue 2 1989年6月;和D.Kossmann等的“Iterative Dynamic ProgrammingA New Class ofQuery Optimization Algorithms”ACM Transactions on DatabaseSystems,Volume 25 Issue 1,2000年3月。
技术实现思路
本专利技术的原理提供了查询处理操作期间重写查询的技术。例如,在本专利技术的一个方面中,数据库查询处理操作期间重写查询的技术包括如下步骤。首先,根据数据组的至少一部分对查询进行处理,从而产生查询结果。其次,对来自查询结果中的数据属性进行分析。最后,在查询中添加来自数据属性的新谓词。因此,可以很好地在查询中添加一个与不包括在原始查询中的数据属性有关的新谓词,从而提高处理效率。本专利技术的原理与传统方法之间存在一些主要差别。例如,本专利技术的原理(i)可以提倡查询重写策略,以添加一些基于原始查询中所没有的属性的新谓词;(ii)可以采用与普遍的单趟(single-pass)处理相对的两趟查询处理操作方法;(iii)可以采用统计分析及其他数据挖掘技术,以帮助识别有区别的属性;和(iv)由于查询重写,可能有错误的解除(dismissal),而传统方法则强调准确的答案。因此,本专利技术的原理提出了对于与传统查询标准化方法不同的查询重写的至少一个额外理由。这一不同的理由在于充分利用有关数据记录中的辅助属性的知识,以添加附加的查询谓词,从而获得更有效的处理。本专利技术的技术可以很好地用于在大量数据库中提供有效的查询处理操作,同时保持结果的精确性。这种效率可以将通常高处理成本查询转换成低成本查询。从以下其举例实施方式的详细描述中可以看到这些以及其他目的、特性和优点,其描述可以结合附图加以理解。附图说明图1是一个表示数据库中所存储的用电量数据的表,用于说明本专利技术的原理与传统方法之间的差别;图2是表示根据本专利技术的实施方式的第一趟查询执行方法的流程图;图3是表示根据本专利技术的实施方式的数据采样方法的流程图;图4是表示根据本专利技术的实施方式的选择性属性选择方法的流程图;图5是表示根据本专利技术的实施方式的查询重写方法的流程图;和图6是表示根据本专利技术的实施方式的可以实现本专利技术的一种或多种组件/方法的计算系统的硬件实现方式的图解。具体实施例方式以下描述将利用一例数据处理系统结构来说明本专利技术的原理。本专利技术的原理并不局限于用于任何特定的系统结构。相反,它更一般地适用于想实现有效和高效的查询处理操作的任何数据处理系统。这里所用的术语“数据库”旨在包括任何数据存储软件和系统,比如,象IBM DB2和Oracle 9那样的关系数据库。这里所用的术语“数据记录”旨在包括数据库中的数据的任何逻辑结构化关联,比如,关系数据库的表中的行。这里所述的术语“属性”和“数据属性”旨在包括数据记录的任何单元,比如行的列值。这里所用的术语“目标属性”旨在表示用户查询中明确出现的任何属性。这里所用的术语“辅助属性”旨在表示用户查询中所缺少的任何属性。本专利技术的原理可适用于在存储有具有一个或多个属性的结构化数据记录的数据库或其他信息系统中的查询处理操作。为了便于举例说明和描述,在本专利技术的优选实施方式中使用了一个基于数据库表中的查询处理操作的例子。本专利技术不应被认为是局限或约束于数据库表中的处理。首先参照图1,表中举例说明了数据库中所存储的用电量数据,用于说明本专利技术的原理与传统方法之间的差别。表中的标题行中有四个属性标记报告日期100,Westchester用电量102,纽约市用电量104,和温度106。例举的查询108询问这两个地区的总日用电量大于3000兆瓦的日期。本例中,通过将纽约市(NYC)的日用电量加上NY的Westchester县的日用电量来计算总日用电量。因此,查询语句具有针对报告日期100作出的关于Westchester用电量102和NYC用户量104的值的总和大于3000MW的单一谓词。传统查询重写的焦点在于属性列,比如,报告日期100,Westchester用电量102,和NYC用电量104。然而,通过分析属性值分布情况,可以发现,只有当室外温度高于90°F时总用电量才大于3000MW。原始查询中没有指定的温度属性是辅助的,但通过在查询中添加一个附加谓词却可以大大减少查询处理时间。因此,在查询重写阶段包含这一温度谓词是很有益的。然而,传统查询重写策略却没有象依据本专利技术的原理所提出的有关辅助属性的谓词。本专利技术所提出的查询重写方法包括两趟。第一趟是从来自采样数据的查询结果的分析找到具有高选择性的属性。第二趟是选择最高等级的辅助属性,并将与所选属性有关的新谓词添加到原始查询中,以提高查询效率。下面参照图2,该流程图说明了根据本专利技术的实施方式的第一趟查询执行方法。该方法从输入用户查询200开始。首先,在步骤202中,用传统的未修改的查询处理操作来执行对数据库中的采样数据204的用户查询200。用户查询200的结果作为所选数据记录206被返回。在步骤208中,提取出所选数据记录206的每一属性值的统计。在步骤210中,单独地从采样数本文档来自技高网
...

【技术保护点】
一种在数据库查询处理操作期间重写查询的方法,包括如下步骤:根据一个数据组的至少一部分对查询进行处理,从而产生查询结果;对来自查询结果的数据属性进行分析;和在查询中添加来自至少一个数据属性的至少一个新谓词。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:张元极马修L希尔
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1