The invention provides a database statistics histogram generation method based on query log, which comprises the following steps: 1) from the database query log extraction query set, each query corresponds to an attribute, constitute an array of attributes about the boundary value; 2) logarithmic group sort of basic interval composed of adjacent formation point; 3) of different interval on the properties of Descartes product, called the results of a cube; 4) according to Descartes each query contains the results of the number of lines and the cube of the product, obtained the cube density; 5) according to the density histogram cube. The method of the invention is based on the database query log histogram overcomes the problem by scanning the original data to produce the histogram of the high cost of traditional database system, and the error of the existing query logs using incremental histogram method to generate too much problem.
【技术实现步骤摘要】
本专利技术涉及一种利用查询日志中所包含的查询结果行数信息进行数据库直方图 统计信息生成的方法。
技术介绍
在数据库系统中,如何有效地生成准确的关于数据分布的统计信息是一个十分重 要的基础问题。这些信息被查询优化器用来估计查询计划中相关算子的选择度,估计其执 行代价,并选择最优的执行计划。如果统计数据出现误差,误差会在查询计划中呈指数级扩 散,导致实际执行的查询计划的性能急剧降低。直方图是最普遍的用来描述数据分布的手 段,在目前的商业数据库中被广泛采用。构建直方图需要对原始数据进行扫描或者抽样,对 数据排序并且形成合适的桶分区。对于大规模的数据库来讲,构建和维护直方图的代价却 是非常高昂的,对于多维直方图更是如此。在数据库查询日志中记录着每个查询结果的行数,利用这些信息可以推算数据分 布。在已有的利用查询日志进行直方图生成的方法中,都是采用增量式更新的方式,也即逐 个采用查询来修正直方图,由于缺乏优化目标函数定义,导致所生成的直方图的误差比较 大,同时随着查询的逐次到来,需要频繁调整直方图(合并或分裂)。
技术实现思路
本专利技术提出一种直方图生成方法,该方法基于数据库查询日志关于查询结果行数 的信息,利用最大熵思想,推导出数据密度分布,并以直方图形式表示出来。本专利技术方法的原理是对于一个查询Q,假定其属性形如< A < ,其结果行数 为RCnt,那么就可以知道在属性A的区间的数据分布密度是P = RCnt/( - )。 如果有两个查询Q1和Q2,其属性分别为a1<A<a2,b1<A< b2,其结果行数分别为RCnt1, ...
【技术保护点】
1.一种基于查询日志的数据库统计数据直方图生成方法,包括以下步骤:1)从数据库查询日志中提取查询集合,每个查询对应一个属性,将属性集的左右边界值构成一个数组;2)对数组进行排序,生成相邻点对构成的基本区间;3)对不同属性上的区间取笛卡尔积,结果称之为一个立方体;4)根据每个查询包含的结果行数与立方体的笛卡尔积,得到立方体的密度值;5)根据立方体的密度值生成直方图。
【技术特征摘要】
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。