用于确定复合索引的方法和装置与流程

文档序号:31657533发布日期:2022-09-27 22:31阅读:62来源:国知局

1.本说明书实施例通常涉及计算机技术领域,尤其涉及用于确定复合索引的方法和装置。


背景技术:

2.索引是对数据库表中一列(或属性)或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。用户可以在数据库表中的多个列上建立索引,这种索引叫做复合索引(组合索引)。复合索引在数据库操作期间所需的开销更小,可以代替多个单一索引。而索引选择是物理数据库设计的一个特别重要的阶段,主要用于选择要创建的数据库索引,以便针对给定的工作负载来高效地检索数据。因此,如何进行复合索引的选择从而提升查询效率成为亟待解决的问题。


技术实现要素:

3.鉴于上述,本说明书实施例提供了一种用于确定复合索引的方法和装置。利用该方法、装置,可以实现对目标数据库的复合索引的确定,以提高基于查询语句对目标数据库进行查询的效率。
4.根据本说明书的实施例的一个方面,提供一种用于确定复合索引的方法,包括:获取针对目标数据库的查询语句集;确定候选复合索引集中的各个复合索引在所述查询语句集中的各个查询语句下的索引优化收益,其中,所述索引优化收益用于反映在所述目标数据库的固有索引的基础上引入复合索引来基于查询语句对所述目标数据库进行查询所带来的查询代价收益;以及根据各个复合索引的索引优化收益,从所述候选复合索引集中确定目标复合索引。
5.根据本说明书的实施例的另一个方面,提供一种用于确定复合索引的装置,包括:获取单元,被配置为获取针对目标数据库的查询语句集;收益确定单元,被配置为确定候选复合索引集中的各个复合索引在所述查询语句集中的各个查询语句下的索引优化收益,其中,所述索引优化收益用于反映在所述目标数据库的固有索引的基础上引入复合索引来基于查询语句对所述目标数据库进行查询所带来的查询代价收益;以及索引确定单元,被配置为根据各个复合索引的索引优化收益,从所述候选复合索引集中确定目标复合索引。
6.根据本说明书的实施例的另一方面,提供一种用于确定复合索引的装置,包括:至少一个处理器,与所述至少一个处理器耦合的存储器,以及存储在所述存储器上的计算机程序,所述至少一个处理器执行所述计算机程序来实现如上所述的用于确定复合索引的方法。
7.根据本说明书的实施例的另一方面,提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的用于确定复合索引的方法。
8.根据本说明书的实施例的另一方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行来实现如上所述的用于确定复合索引的方法。
附图说明
9.通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
10.图1示出了根据本说明书的实施例的用于确定复合索引的方法和装置的示例性架构。
11.图2示出了根据本说明书的实施例的用于确定复合索引的方法的流程图。
12.图3示出了根据本说明书的实施例的用于确定复合索引的方法的又一个示例的示意图。
13.图4示出了根据本说明书的实施例的索引优化收益的确定过程的一个示例的示意图。
14.图5示出了根据本说明书的实施例的用于确定复合索引的装置的一个示例的方框图。
15.图6示出了根据本说明书的实施例的用于确定复合索引的装置的又一个示例的方框图。
16.图7示出了根据本说明书的实施例的用于确定复合索引的装置中收益确定单元的一个示例的方框图。
17.图8示出了本说明书的实施例的用于确定复合索引的装置的示意图。
具体实施方式
18.以下将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书实施例内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
19.如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
20.在本说明书中,术语“复合索引”可以指基于数据库表中的多个属性(或字段)的索引。需要注意的是,即使属性相同,但顺序不同,也属于不同的复合索引,其查询速度也不相同。
21.在本说明书中,术语“开销”可以用于评估针对数据库表的操作对系统的占用程度,其可以包括但不限于查询中的cpu使用率、磁盘读写、持续时间(duration)中的至少一项。
22.下面将结合附图来详细描述根据本说明书实施例的用于确定复合索引的方法和装置。
23.图1示出了根据本说明书实施例的用于确定复合索引的方法和装置的示例性架构
100。
24.在图1中,网络110被应用于在终端设备121、122和数据库服务器130之间进行互连。
25.网络110可以是能够对网络实体进行互连的任何类型的网络。网络110可以是单个网络或各种网络的组合。在覆盖范围方面,网络110可以是局域网(lan)、广域网(wan)等。在承载介质方面,网络110可以是有线网络、无线网络等。在数据交换技术方面,网络110可以是电路交换网络、分组交换网络等。
26.终端设备121、122可以是能够连接到网络110、访问网络110上的服务器或网站、处理数据或信号等的任何类型的电子计算设备。例如,终端设备121、122可以是台式计算机、笔记本电脑、平板电脑、智能电话等。尽管在图1中仅示出了几个终端设备,但是应当理解,可以有不同数量的终端设备连接到网络110。
27.在一种实施方式中,终端设备121、122可以由用户使用。终端设备121、122可以包括可为用户提供各种服务的应用客户端(例如数据库客户端1211、数据库客户端1221)。在一些情况下,数据库客户端1211、1221可以与数据库服务器130进行交互。例如,数据库客户端1211、1221可以将用户输入的消息传送到数据库服务器130,并且从数据库服务器130接收与上述消息相关联的响应。在本文中,“消息”可以指任何输入信息,例如查询语句等。
28.数据库服务器130可以对接收到的查询语句集131进行处理,例如可以根据候选复合索引集132中各复合索引(例如复合索引1321、复合索引1322、复合索引1323等)在查询语句集131中的各个查询语句下的索引优化收益从候选复合索引集132中确定目标复合索引1322。可选地,数据库服务器130可以利用所确定的目标复合索引1322从数据库表133中获取查询语句集131的查询结果作为响应。
29.应当理解,图1中所示的所有网络实体都是示例性的,根据具体的应用需求,架构100中可以涉及任何其它网络实体。
30.图2示出了根据本说明书的实施例的用于确定复合索引的方法200的流程图。
31.如图2所示,在210,获取针对目标数据库的查询语句集。
32.在本实施例中,可以通过各种方式获取针对目标数据库的查询语句集。上述目标数据库可以是预先指定的数据库,也可以是根据规则而动态确定的数据库。上述查询语句集中通常可以包括多个查询语句。
33.在本实施例中,作为示例,上述目标数据库中可以包括名为“sales”的表。上述名为“sales”的表中可以包括多个属性,例如(orderid, price, discount, city, shipdate, ...)。针对上述目标数据库中名为“sales”的表的查询语句集中可以包括如下多个查询语句:q
1 = select sum(price * discount) from sales where city = 'beijing' and shipdate between '01-01-2021' 和 '12-31-2021';q
2 = select sum(price * discount) from sales where price 》= 1000 and city = 'beijing' and shipdate between '01-01-2021' 和 '12-31-2021';q
3 = select sum(price * discount) from sales where discount 》= 0.6 and city = 'beijing' and shipdate between '01-01-2021' 和 '12-31-2021'。
34.需要说明的是,上述查询语句可以根据数据库的不同而具有不同的形式,此处不
做限定。
35.在220,确定候选复合索引集中的各个复合索引在查询语句集中的各个查询语句下的索引优化收益。
36.在本实施例中,可以确定上述候选复合索引集中的各个复合索引在上述查询语句集中的各个查询语句下的索引优化收益。上述索引优化收益可以用于反映在上述目标数据库的固有索引的基础上引入复合索引来基于查询语句对上述目标数据库进行查询所带来的查询代价收益。上述固有索引可以指上述目标数据库在未引入上述复合索引之前所使用的索引,例如可以是主键索引。上述查询代价收益可以包括但不限于以下至少一项:节省的查询时间,减少的磁盘读写数据量,减少的cpu占用率,减少的内存使用量。
37.在本实施例中,作为示例,上述候选复合索引集中的复合索引可以包括索引i
1 = (city, shipdate)、索引i
2 = (city, price, shipdate)、索引i
3 = (city, discount, shipdate)和索引i
4 = (city, price, discount, shipdate)。由此,某个复合索引在某个查询语句下的索引优化收益例如可以记为。其中,上述可以用于表征第i个查询语句。上述可以用于表征第j个复合索引。在上述示例中,i的取值可以为{1,2,3},j的取值可以为{1,2,3,4}。
38.需要说明的是,上述候选复合索引集通常是逻辑上的,即通常尚未真正占用物理存储空间。而通常在上述候选复合索引集中被确定的目标复合索引被创建时,才会真正占用相应的物理存储空间。
39.在本实施例的一些实现方式中,上述索引优化收益可以根据基于上述固有索引的查询代价与在上述固有索引的基础上引入复合索引后的查询代价确定。作为示例,上述索引优化收益可以是上述固有索引的查询代价与在上述固有索引的基础上引入复合索引后的查询代价之差。作为又一示例,上述索引优化收益可以是上述固有索引的查询代价与在上述固有索引的基础上引入复合索引后的查询代价之比。作为再一示例,上述索引优化收益可以是上述固有索引的查询代价与在上述固有索引的基础上引入复合索引后的查询代价之差与在上述固有索引的查询代价之间的比值。上述查询代价可以包括查询时间开销和查询所需计算开销中的至少一项。其中,上述查询时间开销可以包括查询时间。上述查询所需计算开销例如可以包括内存占用率、磁盘读写数据量、cpu占用率等。
40.可见,本方案可以基于固有索引的查询代价与在上述固有索引的基础上引入复合索引后的查询代价来确定索引优化收益,丰富了索引优化收益的确定方式。
41.在230,根据各个复合索引的索引优化收益,从候选复合索引集中确定目标复合索引。
42.在本实施例中,根据各个复合索引的索引优化收益,可以通过各种方式从候选复合索引集中确定目标复合索引。作为示例,可以将上述候选复合索引集中数值最大的目标数目个索引优化收益所对应的复合索引确定为目标复合索引。作为又一示例,可以将上述候选复合索引集中大于预设索引优化收益阈值的索引优化收益所对应的复合索引确定为目标复合索引。
43.在本实施例的一些可选的实现方式中,可以根据各个复合索引的索引优化收益以及各个复合索引的存储代价,从候选复合索引集中确定目标复合索引。上述候选复合索引
集中各个复合索引可以对应有表征所需的存储空间的存储代价(例如可以用si表示)。例如,如前述示例中的索引i1、i2、i3和i4所对应的存储代价可以分别为65 gb、85gb、105 gb和150 gb。从而,可以根据各个复合索引的索引优化收益以及各个复合索引的存储代价,通过各种方式从候选复合索引集中确定目标复合索引。作为示例,可以从上述候选复合索引集中选取较大索引优化收益(例如前述示例中数值最大的目标数目个索引优化收益或大于预设索引优化收益阈值的索引优化收益)对应的复合索引,再将上述所选取的复合索引中存储代价最小的复合索引确定为目标复合索引。作为又一示例,可以根据所确定的复合索引在查询语句下的索引优化收益确定各个复合索引对应的索引优化收益。上述复合索引对应的索引优化收益可以通过各种方式确定,例如可以为该复合索引在各查询语句下的索引优化收益的最大值、中位数、平均值等。而后可以在满足存储代价要求的前提下根据复合索引对应的索引优化收益选取目标数目个复合索引。
44.可见,本方案可以从索引优化收益以及存储代价这两个方面来综合确定目标复合索引,从而丰富了复合索引的确定方式,提升了所确定的目标复合索引的适用效果。
45.在本实施例的一些可选的实现方式中,可以从上述候选复合索引集中确定目标复合索引,以使在满足索引容量限制条件的情况下,各个目标复合索引的索引优化收益之和最大。上述索引容量限制条件可以包括各个目标复合索引的存储代价之和不超过索引容量限制值。作为示例,可以首先根据所确定的复合索引在查询语句下的索引优化收益确定各个复合索引对应的索引优化收益(例如可以用profi表示)。上述复合索引对应的索引优化收益例如可以为该复合索引在各查询语句下的索引优化收益的最大值、中位数、平均值等。上述索引容量限制条件例如可以是目标复合索引所需的存储空间之和不大于预设数值(例如可以用capacity表示),例如200 gb。由此,可以通过求解以下优化问题实现从上述候选复合索引集中确定目标复合索引:复合索引集中确定目标复合索引:其中,,当的取值为1时,表示确定该对应的所指示的复合索引为目标复合索引。式中的n可以用于表示上述候选复合索引集中参与求解该优化问题的复合索引的数目,例如可以是上述候选复合索引集中的全部或部分复合索引的数目。
46.可见,本方案可以通过求解在满足索引容量限制条件的情况下,各个目标复合索引的索引优化收益之和最大的优化问题实现从候选复合索引集中确定目标复合索引,从而丰富了目标复合索引的确定方式,有助于通过所确定的目标复合索引实现对目标数据库针对查询语句集进行查询的性能改善。
47.图3示出了根据本说明书的实施例的用于确定复合索引的方法300的又一个示例的示意图。
48.如图3所示,在310,获取针对目标数据库的查询语句集。
49.在320,确定候选复合索引集中的各个复合索引在查询语句集中的各个查询语句下的索引优化收益。
50.在本实施例中,上述步骤310、步骤320可以分别参考前述实施例中步骤210、步骤
220的相应描述,此处不再赘述。
51.在330,根据各个复合索引的索引优化收益,从候选复合索引集中确定出优选复合索引集。
52.在本实施例中,上述优选复合索引集中的各个优选复合索引的索引优化收益优于上述候选复合索引集中未处于上述优选复合索引集中的所有其他复合索引的索引优化收益。根据各个复合索引的索引优化收益,可以通过各种方式从候选复合索引集中确定出优选复合索引集。作为示例,可以从上述候选复合索引集中选取符合预设选取要求的索引优化收益。其中,上述预设选取要求例如可以是索引优化收益大于预设收益阈值,也可以是索引优化收益的值属于由高至低排序的前10%。而后可以将所选取的索引优化收益按照对应的复合索引进行计数。例如,所选取的索引优化收益可以包括、、、和。则复合索引i1、i2、i3所对应的计数可以分别为1、2、2。而后,可以将计数排名前k(k为正整数)个复合索引确定为优选复合索引集中的复合索引(例如复合索引i2和i3)。
53.在340,根据各个优选复合索引的索引优化收益,从优选复合索引集中确定目标复合索引。
54.在本实施例中,根据各个优选复合索引的索引优化收益,可以通过各种方式从优选复合索引集中确定目标复合索引。例如可以参考前述步骤230的相应描述,此处不再赘述。
55.可选地,可以参考前述步骤230的可选的实现方式中求解优化问题的方式确定目标复合索引。需要说明的是,此时式中的n应为上述优选复合索引集中的优选复合索引的数目,相应地,式中的profi可以表示上述优选复合索引集中的优选复合索引对应的索引优化收益。
56.基于此,本方案通过首先从候选复合索引集中确定出优选复合索引集,再从中进一步确定目标复合索引,丰富了目标复合索引的确定方式。进一步地,通过先根据索引优化收益确定优选复合索引集,再根据索引优化收益和存储代价的限制求解优化问题来确定目标复合索引,兼顾了所确定的目标复合索引的有效性和目标复合索引的确定效率。
57.图4示出了根据本说明书的实施例的索引优化收益的确定过程400的一个示例的示意图。
58.如图4所示,在410,根据候选复合索引集的各个索引和查询语句集的各个查询语句,构建查询语句-复合索引对。
59.在本实施例中,作为示例,上述查询语句-复合索引对例如可以用《》表示。其中,上述可以用于表征第i个查询语句。上述可以用于表征第j个复合索引。如前述的示例中,i的取值可以为{1,2,3},j的取值可以为{1,2,3,4}。
60.在420,将所构建的查询语句-复合索引对提供给索引优化收益预测模型,得到各个复合索引在查询语句集中的各个查询语句下的索引优化收益。
61.在本实施例中,可以将所构建的查询语句-复合索引对提供给索引优化收益预测模型,得到各个复合索引在查询语句集中的各个查询语句下的索引优化收益。其中,上述索
引优化收益预测模型可以用于表征索引优化收益与查询语句-复合索引对之间的对应关系。上述索引优化收益预测模型可以包括各种预先训练的机器学习模型,例如支持向量机(support vector machine, svm)和k最近邻(k-nearest-neighbor, knn)算法等。
62.在本实施例的一些可选的实现方式中,上述索引优化收益预测模型可以基于针对上述目标数据库的历史查询语句集和历史候选复合索引集训练得到。可以基于针对上述目标数据库的历史查询语句集和历史候选复合索引集生成用于训练上述索引优化收益预测模型的训练样本集。作为示例,对于所获取的针对上述目标数据库的历史查询语句集中的各历史查询语句,可以根据对应于该历史查询语句在不使用所获取的上述历史候选复合索引集进行查询时的基础查询代价与使用上述历史候选复合索引集的历史候选复合索引进行查询时的复合索引查询代价确定该历史查询语句使用该候选复合索引(相当于“历史查询语句-历史候选复合索引对”)的历史索引优化收益。由于上述基础查询开销值和上述复合索引查询代价可以通过各种性能分析工具(例如在mysql中使用 show profile)来具体查看,因而可以得到与各历史查询语句-历史候选复合索引对对应的历史索引优化收益。从而可以利用上述训练样本集进行有监督训练,得到上述索引优化收益预测模型。
63.基于前述,本方案可以基于针对目标数据库的历史查询语句集和历史候选复合索引集训练得到上述索引优化收益预测模型,从而丰富了各个复合索引在查询语句集中的各个查询语句下的索引优化收益的确定方式,通过引入机器学习模型来确定索引优化收益可以在无需实际创建各候选索引的基础上得到较为准确的索引优化收益预测结果,极大地节省了确定目标复合索引的成本,提升了确定目标复合索引的效率。
64.回到图2,在本实施例的一些可选的实现方式中,还可以根据所确定的目标复合索引创建针对上述目标数据集的附加索引,用以在基于上述查询语句集中的查询语句对上述目标数据库进行查询时提高效率。
65.利用图1-图4中公开的用于确定复合索引的方法,可以通过确定候选复合索引集中的各个复合索引在所获取的针对目标数据库的查询语句集中的各个查询语句下的、用于反映在目标数据库的固有索引的基础上引入复合索引来基于查询语句对目标数据库进行查询所带来的查询代价收益的索引优化收益,并将所确定的索引优化收益作为从候选复合索引集中确定目标复合索引的主要依据。与现有技术中主要依据人工经验尝试设置复合索引相比,尤其在大型数据库关系表的应用中具有更高的效率且节约了人力成本。
66.此外,由于利用上述方法所确定的索引优化收益会根据不同的查询语句而有所不同,因而可以根据目标数据库的工作负载(即查询语句)的变化而灵活确定更为适合当前负载的目标复合索引,更有助于有效地提升目标数据库的查询效率。
67.图5示出了根据本说明书的实施例的用于确定复合索引的装置500的一个示例的方框图。该装置实施例可以与图2-图4所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
68.如图5所示,用于确定复合索引的装置500包括获取单元510、收益确定单元520和索引确定单元530。
69.获取单元510可以被配置为获取针对目标数据库的查询语句集。获取单元510的操作可以参考上面参照图2描述的步骤210的操作。
70.收益确定单元520可以被配置为确定候选复合索引集中的各个复合索引在查询语
句集中的各个查询语句下的索引优化收益。上述索引优化收益可以用于反映在目标数据库的固有索引的基础上引入复合索引来基于查询语句对上述目标数据库进行查询所带来的查询代价收益。收益确定单元520的操作可以参考上面图2描述的步骤220的操作。
71.索引确定单元530可以被配置为根据各个复合索引的索引优化收益,从候选复合索引集中确定目标复合索引。索引确定单元530的操作可以参考上面图2描述的步骤230的操作。
72.在一个示例中,上述索引优化收益可以根据基于固有索引的查询代价与在固有索引的基础上引入复合索引后的查询代价确定。上述查询代价可以包括查询时间开销和查询所需计算开销中的至少一项。
73.在一个示例中,上述索引确定单元530可以被进一步配置为根据各个复合索引的索引优化收益以及各个复合索引的存储代价,从候选复合索引集中确定目标复合索引。上述索引确定单元530的操作可以参考上面图2描述的实施例中步骤230中可选的实现方式的相应描述。
74.在一个示例中,上述索引确定单元530可以被进一步配置为从候选复合索引集中确定目标复合索引,以使在满足索引容量限制条件的情况下,各个目标复合索引的索引优化收益之和最大,索引容量限制条件包括各个目标复合索引的存储代价之和不超过索引容量限制值。上述索引确定单元530的操作可以参考上面图2描述的实施例中步骤230中可选的实现方式的相应描述。
75.在一个示例中,图6示出了根据本说明书的实施例的用于确定复合索引的装置600的又一个示例的方框图。上述用于确定复合索引的装置600可以包括获取单元610、收益确定单元620、优选索引确定单元630和索引确定单元640。上述获取单元610和收益确定单元620的操作可以分别参考上面参照图2描述的步骤210、步骤220的操作。上述优选索引确定单元630可以被配置为根据各个复合索引的索引优化收益,从候选复合索引集中确定出优选复合索引集。其中,上述优选复合索引集中的各个优选复合索引的索引优化收益可以优于上述候选复合索引集中未处于上述优选复合索引集中的所有其他复合索引的索引优化收益。上述索引确定单元640可以被进一步配置为根据各个优选复合索引的索引优化收益,从优选复合索引集中确定目标复合索引。上述优选索引确定单元630和索引确定单元640的操作可以分别参考上面图3描述的实施例中步骤330和步骤340中的相应描述。
76.在一个示例中,图7示出了根据本说明书的实施例的用于确定复合索引的装置中收益确定单元700的一个示例的方框图。上述收益确定单元700可以包括:构建模块710,被配置为根据候选复合索引集的各个索引和查询语句集的各个查询语句,构建查询语句-复合索引对;收益预测模块720,被配置为将所构建的查询语句-复合索引对提供给索引优化收益预测模型,得到各个复合索引在查询语句集中的各个查询语句下的索引优化收益。上述收益确定单元700的操作可以参考上面图4描述的实施例的索引优化收益的确定过程。
77.在一个示例中,上述索引优化收益预测模型可以基于针对上述目标数据库的历史查询语句集和历史候选复合索引集训练得到。上述索引优化收益预测模型可以参考上面图4描述的实施例中步骤420的可选的实现方式中的相应描述。
78.以上参照图1到图7,对根据本说明书实施例的用于确定复合索引的方法和装置的实施例进行了描述。
79.本说明书实施例的用于确定复合索引的装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将存储器中对应的计算机程序指令读取到内存中运行形成的。在本说明书实施例中,用于确定复合索引的装置例如可以利用电子设备实现。
80.图8示出了本说明书的实施例的用于确定复合索引的装置800的示意图。
81.如图8所示,用于确定复合索引的装置800可以包括至少一个处理器810、存储器(例如,非易失性存储器)820、内存830和通信接口840,并且至少一个处理器810、存储器820、内存830和通信接口840经由总线850连接在一起。至少一个处理器810执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
82.在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器810:获取针对目标数据库的查询语句集;确定候选复合索引集中的各个复合索引在查询语句集中的各个查询语句下的索引优化收益,其中,索引优化收益用于反映在目标数据库的固有索引的基础上引入复合索引来基于查询语句对目标数据库进行查询所带来的查询代价收益;以及根据各个复合索引的索引优化收益,从候选复合索引集中确定目标复合索引。
83.应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器810进行本说明书的各个实施例中以上结合图1-7描述的各种操作和功能。
84.根据一个实施例,提供了一种例如计算机可读介质的程序产品。计算机可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被计算机执行时,使得计算机执行本说明书的各个实施例中以上结合图1-7描述的各种操作和功能。
85.具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
86.在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
87.本说明书各部分操作所需的计算机程序代码可以用任意一种或多种程序语言编写,包括面向对象编程语言,如java、scala、smalltalk、eiffel、jade、emerald、c++、c#、vb、net以及python等,常规程序化编程语言如c语言、visual basic 2003、perl、cobol 2002、php以及abap,动态编程语言如python、ruby和groovy,或者其他编程语言等。该程序编码可以在用户计算机上运行,或者作为独立的软件包在用户计算机上运行,或者部分在用户计算机上运行另一部分在远程计算机运行,或者全部在远程计算机或服务器上运行。在后一种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan),或连接至外部计算机(例如通过因特网),或者在云计算环境中,或者作为服务使用,比如软件即服务(saas)。
88.可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd-rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
89.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围
内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
90.上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
91.在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
92.以上结合附图详细描述了本说明书的实施例的可选实施方式,但是,本说明书的实施例并不限于上述实施方式中的具体细节,在本说明书的实施例的技术构思范围内,可以对本说明书的实施例的技术方案进行多种简单变型,这些简单变型均属于本说明书的实施例的保护范围。
93.本说明书内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本说明书内容。对于本领域普通技术人员来说,对本说明书内容进行的各种修改是显而易见的,并且,也可以在不脱离本说明书内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本说明书内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1