[发明专利]用于数据库查询优化的方法以及使用该方法的系统有效
申请号: | 201210369839.3 | 申请日: | 2012-09-28 |
公开(公告)号: | CN103714058B | 公开(公告)日: | 2017-05-17 |
发明(设计)人: | 陈颖宇;徐绘新 | 申请(专利权)人: | SAP欧洲公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市柳沈律师事务所11105 | 代理人: | 邵亚丽 |
地址: | 德国瓦*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 查询 优化 | ||
技术领域
本公开一般涉及数据库,更具体地,涉及数据库查询优化。
背景技术
数据库通常包括用于存储数据值的一个或多个数据库表格。为了在数据库中检索和操纵数据,用户、应用程序或远程系统通常向数据库管理系统(DBMS)发出数据库查询。数据库查询是指用于检索存储在数据库中的数据的语句、命令或子句的集合。例如,查询可以在数据库中指定检索数据的特定位置(例如,表格、行或列),或者指定如何联接来自多个表格的列。
在运行之前编译查询。在编译期间,DBMS通常将该查询解析成为指定如何实现查询的关系运算符。可以在“查询计划”或“访问计划”中对关系运算符排序。因为通常存在具有性能变化很大的、大量可供选择的方法来运行给定查询,所以DBMS的查询优化器可以估计一些不同的可能计划并返回它认为的最佳查询计划。
因为查询优化器是非理想的,所以数据库用户和管理员有时需要人工地检查并调节查询计划以实现更好的性能。通常提供工具的集合(例如IBM图形化解释(Visual Explain))来显示查询访问计划。一些数据库提供功能"EXPLAIN PLAN(解释计划)"以允许用户预览和估计由DBMS生成的查询计划。还可以提供返回用于运行查询的成本和时间的“计划表”。
然而,EXPLAIN PLAN功能在性能调节方面不是非常有用。例如,一些数据库可以返回具有许多未知结果(例如,运行时间)的计划表,使得难以判断哪个查询语句产生最有效的查询计划。此外,不同的“联接”序列会产生导致不同的运行次数的不同的查询计划,该运行时间经常是未知的。
此外,人工操纵性能调节会非常耗时和困难。复杂结构化查询语言(SQL)查询会需要执行不同的调节方法。在数据量改变的可能事件中,将必须重复全部冗长的调节处理以估计性能变化。此外,不同的数据库具有不同的特性,并且程序员必须熟悉下层数据库的特定特性以便执行性能调节。
因此,存在对解决上述挑战的、改善的数据库查询优化框架的需要。
发明内容
此处描述一种用于便于优化数据库查询的计算机实现技术。在一些实现中,接收第一查询。通过在第一查询中检测指定语法来自动地识别用于优化的至少一个场景。然后通过使用与识别的场景对应的预定义的操作重写第一查询来自动地生成第二查询。
利用将在下文中变得清楚的这些和其它优点与特征,通过参照以下详细描述和权利要求与附图,可以获得进一步信息。
附图说明
在附图中示出一些实施例,在附图中相同的参考标号标明相似的部分,其中:
图1是示出示范性系统的框图;
图2是示出通过示范性数据库管理系统的查询流的框图;
图3示出用于优化数据库查询的示范性方法;
图4示出示范性预定义场景和子场景;以及
图5示出示范性用户界面。
具体实施方式
在下面的描述中,为了说明的目的,阐述指定数目、材料和配置以便提供给出的框架和方法的彻底理解,以及以便满足法定的书写描述、实现和最佳的模式要求。然而,本领域技术人员清楚地是,可以在没有指定示范性细节的情况下实现给出的框架和方法。在其他情况中,省略或简化公知的特征以使给出的框架和方法的示范性实施方式的描述清楚,并且从而更好地解释给出的框架和方法。此外,为便于理解,将某些方法步骤描绘为分开地步骤;然而,这些分开地描绘步骤不应该被看作是依赖其性能的必须的次序。
此处描述的框架可以实现为方法、计算机控制的装置、计算机处理、计算系统、或诸如计算机可用介质的制品。从以下描述,这些和各种其他特征将是清楚的。
图1示出的框图示出了可以用来实现此处描述的框架的示范性系统100。系统100可以包括可通信地耦接到输入设备102(例如,键盘、触摸板、麦克风、照相机等)和输出设备104(例如,显示设备、监视器、打印机、扬声器等)的计算机系统106。计算机系统106还可以包括用于使用通信链路130(例如,电话线、无线网络链路、有线网络链路或电缆网)与网络132交换数据的通信卡或设备116(例如,调制解调器和/或网络适配器)。网络132可以是局域网(LAN)或广域网(WAN)。计算机系统106可以经由网络132可通信地耦接到一个或多个其他计算机系统154。例如,计算机系统106可以充当服务器并且使用到一个或多个客户端计算机150的逻辑联接而在网络环境中操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于SAP欧洲公司,未经SAP欧洲公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210369839.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:直条粉桥式蒸粉机
- 下一篇:一种输电杆塔防鸟机构