数据库查询优化与探索策略验证
1. 查询选择性估计中的查询条件感知直方图
在数据库查询优化中,选择性估计是一个关键环节。传统的直方图方法仅能对属性值分布进行非参数估计,而现在提出了一种新的方法,即查询条件感知直方图(HQCA),它能同时反映属性值分布和范围查询边界值分布。
1.1 ODCIStats模块的作用
ODCIStats模块为实现用户自定义属性值分布表示(即用户自定义统计信息)提供了接口,同时也支持实现用户自定义选择性函数。在查询优化器评估查询条件时,可以调用这个自定义选择性函数。此外,ODCIStats还能收集查询条件的在线信息,即查询范围边界值的分布,从而创建HQCD直方图。这是ODCIStats模块的一种非常规用法,调用ODCISelectivity函数不仅会计算选择性,还会更新HQCD。
1.2 数据库管理系统的工作模式
- 收集模式(学习模式) :DBMS会为每个处理的查询更新HQCD。查询优化器调用选择性函数时,会增加HQCD直方图桶中的值。
- 正常模式 :在收集模式之后,DBMS切换到正常模式,此时HQCD不再更新。可以使用标准命令(如dbms_stats.gather_table_stats)创建用户自定义统计信息(HQCA直方图),该命令会隐式调用从Hx和HQCD创建新HQCA的算法。之后,查询优化器可以隐式使用基于HQCA的用户自定义选择性方法。
2. 连接排序问题的搜索空间探索策略验证
连接排序问题是数据库查询优化任务的重要组成部分,它的目