确定索引代价的方法和装置制造方法及图纸

技术编号:33251311 阅读:37 留言:0更新日期:2022-04-27 18:14
提供一种确定索引代价的方法和装置。所述方法应用于基于LSM树存储引擎的数据库,所述数据库中存储有基线数据和增量数据,所述基线数据和所述增量数据包含索引的数据,所述索引具有物理行,所述索引的物理行的行数为所述基线数据中包含的所述索引的行数和所述增量数据中包含的所述索引的行数之和,所述方法包括:接收第一数据库查询语句;根据所述第一数据库查询语句确定所述索引需要被扫描的物理行的行数;根据所述物理行的行数确定扫描所述索引的代价。索引的代价。索引的代价。

【技术实现步骤摘要】
确定索引代价的方法和装置


[0001]本公开涉及数据库领域,并且更为具体地,涉及一种确定索引代价的方法和装置。

技术介绍

[0002]在关系型数据库中,基表访问路径选择方法是指数据库的优化器选择索引或索引路径的方法。索引路径选择方法需要评估每一个索引的代价并选择代价最小的索引来访问数据库中的表。
[0003]通常来说,索引的代价评估取决于很多因素。例如,索引的代价评估可以考虑以下因素中的一种或多种:扫描的行数,回表的行数,投影的列数,谓词的个数等。这些因素中的大部分因素均需要通过数据库系统维护的统计信息计算得到。
[0004]在影响索引代价的因素中,行数信息是影响索引代价的重要因素。在关系型数据库中,扫描索引的代价和回表的代价,均是基于行数信息确定的。
[0005]传统的关系型数据库一般基于buffer

pool的存储引擎对数据进行管理。在此类存储引擎中,基于统计信息计算出的行数信息与数据库中真实存储的行数信息一般是匹配的,所以基于该行数信息进行索引代价的计算通常不会存在太大的问题
[000本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种确定索引代价的方法,所述方法应用于基于LSM树存储引擎的数据库,所述数据库中存储有基线数据和增量数据,所述基线数据和所述增量数据包含索引的数据,所述索引具有物理行,所述索引的物理行的行数为所述基线数据中包含的所述索引的行数和所述增量数据中包含的所述索引的行数之和,所述方法包括:接收第一数据库查询语句;根据所述第一数据库查询语句确定所述索引需要被扫描的物理行的行数;根据所述物理行的行数确定扫描所述索引的代价。2.根据权利要求1所述的方法,所述索引还具有逻辑行,所述索引的逻辑行的行数为所述基线数据中包含的所述索引的行和所述增量数据中包含的所述索引的行经过合并之后的剩余行的行数,所述方法还包括:根据所述第一数据库查询语句确定所述索引需要回表的逻辑行的行数;根据所述逻辑行的行数确定所述索引的回表代价。3.根据权利要求1所述的方法,所述索引需要被扫描的物理行的行数是基于第一行数信息和第二行数信息确定的,所述第一行数信息用于指示所述基线数据中包含的行数,所述第二行数信息用于指示所述增量数据中包含的以下行数中的一种或多种:新增的行数、删除的行数以及更改的行数。4.根据权利要求2所述的方法,所述索引需要回表的逻辑行的行数是基于第一行数信息和第二行数信息确定的,所述第一行数信息用于指示所述基线数据中包含的行数,所述第二行数信息用于指示所述增量数据中包含的以下行数中的一种或多种:新增的行数、删除的行数以及更改的行数。5.根据权利要求3或4所述的方法,所述第一行数信息是从所述基线数据的元数据中获取的。6.根据权利要求3或4所述的方法,所述第二行数信息是通过对所述增量数据进行动态采样获取的。7.一种确定索引代价的装置,所述装置包括基于LSM树存储引擎的数据库,所述数据库中存储有基线数据和增量数据,所述基线数据和所述增量数据包含索引的...

【专利技术属性】
技术研发人员:王国平朱涛陈萌萌
申请(专利权)人:北京奥星贝斯科技有限公司
类型:发明
国别省市:

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

1