[发明专利]用于评估数据库索引的效率的方法和装置有效
申请号: | 201310306512.6 | 申请日: | 2013-07-19 |
公开(公告)号: | CN104298691B | 公开(公告)日: | 2017-12-08 |
发明(设计)人: | 李硕;杨新颖;周祥 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市金杜律师事务所11256 | 代理人: | 酆迅,李峥宇 |
地址: | 美国纽*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 评估 数据库 索引 效率 方法 装置 | ||
技术领域
本发明的各实施方式涉及数据库管理,更具体地,涉及用于评估数据库索引的效率的方法和装置。
背景技术
随着计算机硬件技术以及数据库技术的发展,在提供越来越大的数据存储能力的同时,数据库对于外界访问的响应效率也越来越高。例如,通过使用数据库索引技术,可以在一定程度上提高对数据库的访问效率。数据库索引是对数据库的表中一个或多个列的值进行排序的数据结构。可以建立一个或者多个索引,通过使用索引来访问数据库时,不必在数据表中搜索全部的数据行因而有助于提高查询效率。
另一方面,随着应用程序复杂性的提高,目前的应用程序越来越多地涉及到对于数据库的各种访问操作,并且这些访问操作越来越频繁。例如,对于银行的数据库系统而言,可能会频繁地执行批处理任务(batch task),可能会在较短时间内执行成千上万次的数据查询任务。对于单独的查询任务而言,基于多个索引中的哪个索引来进行查询可能并不会显著影响查询效率;然而,当执行包括数万个甚至更多个查询的批处理任务的序列时,在每次查询期间累积的响应延迟则可能会影响批处理任务的整体效率,因而期望能够评价索引的效率。
尽管目前已经提出了基于索引与数据库中的表的关系来评价索引效率的技术方案,然而,该技术方案并不能评价该索引在执行批处理任务方面的效率。因而,如何基于当前批处理任务序列中的各个任务来评价已经创建的多个索引的效率,以及如何进一步选择最为适合于当前批处理任务序列的索引,成为亟待解决的问题。
发明内容
因而,期望开发一种能够基于估算批处理任务序列中的任务访问数据库期间的时间开销,来评估数据库索引的效率的技术方案。进一步,还期望可以评估已经创建的多个索引的效率并从该多个索引中选择效率最高的索引,以基于该索引来执行各个批处理任务序列。为此,本发明的各个实施方式提供用于评估数据库索引的效率的方法和装置。
根据本发明的一个方面,提供了一种用于评估数据库索引的效率的方法,包括:接收对数据库进行访问的批处理任务的序列;估算指示在基于数据库索引执行序列中的批处理任务期间访问数据库的次数的指示符;以及基于指示符来评估数据库索引对于序列的效率,其中序列中的批处理任务是针对数据库执行相同类型的操作的任务。
根据本发明的一个方面,估算指示在基于数据库索引执行序列中的批处理任务期间访问数据库的次数的指示符包括:针对序列中的当前批处理任务,分别计算当前批处理任务的输入数据与当前批处理任务之前的至少一个批处理任务的输入数据在数据库索引中的至少一个距离;以及基于至少一个距离来计算指示符。
根据本发明的一个方面,基于至少一个距离来计算指示符包括:针对至少一个距离中的每个当前距离,响应于当前距离大于或者等于数据缓存的大小而将指示符增加一增量。
根据本发明的一个方面,提供了一种用于在数据库中执行序列中的批处理任务的方法,包括:针对多个数据库索引来分别执行根据上文所述的用于评估数据库索引的效率的方法,以计算多个数据库索引中的每个数据库索引的效率;以及选择效率最高的数据库索引来执行序列中的批处理任务。
根据本发明的一个方面,提供了一种用于评估数据库索引的效率的装置,包括:接收模块,配置用于接收对数据库进行访问的批处理任务的序列;估算模块,配置用于估算指示在基于数据库索引执行序列中的批处理任务期间访问数据库的次数的指示符;以及评估模块,配置用于基于指示符来评估数据库索引对于序列的效率,其中序列中的批处理任务是针对数据库执行相同类型的操作的任务。
根据本发明的一个方面,估算模块包括:距离计算模块,配置用于针对序列中的当前批处理任务,分别计算当前批处理任务的输入数据与当前批处理任务之前的至少一个批处理任务的输入数据在数据库索引中的至少一个距离;以及指示符计算模块,配置用于基于至少一个距离来计算指示符。
根据本发明的一个方面,指示符计算模块包括:增加模块,配置用于针对至少一个距离中的每个当前距离,响应于当前距离大于或者等于数据缓存的大小而将指示符增加一增量。
根据本发明的一个方面,提供了一种用于在数据库中执行序列中的批处理任务的装置,包括:根据上文所述的用于评估数据库索引的效率的装置,以计算所述多个数据库索引中的每个数据库索引的效率;以及选择模块,配置用于选择效率最高的数据库索引来执行序列中的批处理任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310306512.6/2.html,转载请声明来源钻瓜专利网。