用于数据库索引的方法和系统技术方案

技术编号:13187538 阅读:76 留言:0更新日期:2016-05-11 17:25
本发明专利技术涉及用于数据库索引的方法和系统。具体公开了一种用于数据库索引的方法,所述数据库的索引包括至少一个非键列,所述方法包括:分别获取一定时间内多个结构化查询语句的每一个的执行次数,其中所述多个结构化查询语句利用数据库的所述索引;针对所述至少一个非键列的每一个:根据所述多个结构化查询语句的每一个的执行次数计算该非键列的命中次数;获取该非键列的长度;利用该非键列的命中次数和长度计算该非键列的命中密度,其中:命中密度=命中次数/长度。利用说明性实施例的方法和系统,通过计算每一个非键列的命中密度,使得引入的非键列能够显著提高数据库的查询性能,从而能够优化数据库索引。

【技术实现步骤摘要】

本专利技术涉及数据库,具体的,本专利技术涉及用于数据库索引的方法和系统
技术介绍
为了提高数据库查询的性能,现有技术中在数据库的索引中引入了非键列(index include)。通常情况下,由数据库管理员指定需要在数据库的索引中引入的非键列。由于 数据库管理员并不知道随后的数据库操作的实际情况,因而这种由数据库管理员指定需要 在数据库的索引中引入的非键列的做法往往不能达到其初衷,更有甚者,反而使得数据库 查询的性能下降。
技术实现思路
针对现有技术中存在的上述问题,本专利技术提出了一种用于数据库索引的方法和系 统,使得引入的非键列能够显著提高数据库的查询性能。 根据本专利技术的说明性实施例,提供了一种用于数据库索引的方法,所述数据库索 引包括至少一个非键列,所述方法包括:分别获取一定时间内多个结构化查询语句的每一 个的执行次数,其中所述多个结构化查询语句利用所述数据库索引;针对所述至少一个非 键列的每一个:根据所述多个结构化查询语句的每一个的执行次数计算该非键列的命中次 数;获取该非键列的长度;利用该非键列的命中次数和长度计算该非键列的命中密度,其 中:命中密度=命中次数/长度。 根据本专利技术的说明性实施例,提供了一种用于数据库索引的系统,所述数据库索 引包括至少一个非键列,所述系统包括:执行次数获取单元,配置为分别获取一定时间内多 个结构化查询语句的每一个的执行次数,其中所述多个结构化查询语句利用所述数据库索 弓丨;命中密度计算单元,配置为针对所述至少一个非键列的每一个:根据所述多个结构化 查询语句的每一个的执行次数计算该非键列的命中次数;获取该非键列的长度;利用该非 键列的命中次数和长度计算该非键列的命中密度,其中:命中密度=命中次数/长度。 利用说明性实施例的方法和系统,通过计算每一个非键列的命中密度,使得引入 的非键列能够显著提高数据库的查询性能,从而能够优化数据库索引。【附图说明】 通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其 它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号 通常代表相同部件。 图1示出了适于用来实现本专利技术实施方式的示例性计算机系统/服务器12的框 图; 图2示出了根据本专利技术一个实施例的用于数据库索引的方法200的流程图; 图3示出了根据本专利技术一个实施例的用于数据库索引的系统300的框图; 图4示出了包含非键列的数据库索引的示意图400。【具体实施方式】 下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开 的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方 式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的 范围完整地传达给本领域的技术人员。 图1示出了适于用来实现本专利技术实施方式的示例性计算机系统/服务器12的框 图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本专利技术实施例的功能和使 用范围带来任何限制。 如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统 /服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器 28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。 总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器, 外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举 例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC) 总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。 计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是 任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动 的和不可移动的介质。 系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存 取存储器(RAM) 30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其 它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34 可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为"硬盘驱动器")。尽管 图1中未示出,可以提供用于对可移动非易失性磁盘(例如"软盘")读写的磁盘驱动器, 以及对可移动非易失性光盘(例如⑶-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。 在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28 可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模 块被配置以执行本专利技术各实施例的功能。 具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器 28中,这样的程序模块42包括--但不限于--操作系统、一个或者多个应用程序、其它 程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程 序模块42通常执行本专利技术所描述的实施例中的功能和/或方法。 计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、 显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的 设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信 的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接 口 22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络 (例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适 配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示 出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代 码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存 储系统等。 除了图1显示传统的计算机系统/服务器12,适于用来实现本专利技术实施方式还可 以包括移动电子设备,包括但不限于移动电话、PDA、平板电脑等。典型的,移动电子设备具 有输入设备包括但不限于接触式输入设备,如触摸屏、触摸板等。 下面参考图2,其中显示了根据本专利技术一个实施例的用于数据库索引的方法200 的流程图。根据本专利技术一个实施例,数据库索引包括至少一个非键列。方法200从步骤202 开始。 接下来,方法200进入步骤204,其中分别获取一定时间内多个结构化查询语句的 每一个的执行次数,其中所述多个结构化查询语句利用所述数据库索引。 接下来,方法200进入步骤206,其中针对所述至少一个非键列的每一个执行步骤 208至步骤210,其中: 在步骤208,根据多个结构化查询语句的每一个的执行次数计算该非键列的命中 次数; 在步骤210,获取该非键列的长度; 在步骤212,利用该非键列的命中次数和长度计算该非键列的命中密度,其中: 命中密度=命中次数/长度。 接下来,在至少一个非键列的每一个的命中密度计算完毕之后,方法200进入步 骤214,结束。 根据本发本文档来自技高网...

【技术保护点】
一种用于数据库索引的方法,所述数据库索引包括至少一个非键列,所述方法包括:分别获取一定时间内多个结构化查询语句的每一个的执行次数,其中所述多个结构化查询语句利用所述数据库索引;针对所述至少一个非键列的每一个:根据所述多个结构化查询语句的每一个的执行次数计算该非键列的命中次数;获取该非键列的长度;利用该非键列的命中次数和长度计算该非键列的命中密度,其中:命中密度=命中次数/长度。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨新颖魏可伟宋歌
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

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

1