1 .一种数据库操作语句的基数估算方法,包括:
获取所述数据库操作语句;
在基数估算阶段,判断所述数据库操作语句中的谓词过滤条件是否均通过和逻辑谓词
连接;
若是,则判断所述数据库操作语句是否满足预设条件,所述预设条件为使用预设扩展
统计信息所需的条件,所述预设扩展统计信息用于记录所述数据表中存在相关性的多个目
标列对应的统计信息;
若是,则循环查找所述数据库操作语句中的最佳预设扩展统计信息进行选择率估算,
所述最佳预设扩展统计信息为覆盖所述目标列数目最多的所述预设扩展统计信息。
2 .根据权利要求1所述的数据库操作语句的基数估算方法,其中,
所述循环查找所述数据库操作语句中的最佳预设扩展统计信息进行选择率估算的步
骤包括:
在所述数据库操作语句中的谓词过滤条件中查找所述最佳预设扩展统计信息;
计算所述最佳预设扩展统计信息对应的选择率;
判断是否存在剩余的未估算谓词过滤条件;
在存在所述未估算谓词过滤条件的情况下,判断所述未估算谓词过滤条件对应的目标
列中是否还存在所述预设扩展统计信息覆盖的目标列;
若是,则继续执行所述在所述数据库操作语句中的谓词过滤条件中查找所述最佳预设
扩展统计信息的步骤。
3 .根据权利要求2所述的数据库操作语句的基数估算方法,其中,
所述判断所述未估算谓词过滤条件对应的目标列中是否还存在所述预设扩展统计信
息覆盖的目标列的步骤之后还包括:
在所述未估算谓词过滤条件对应的目标列中不存在所述预设扩展统计信息覆盖的目
标列的情况下,将所述未估算谓词过滤条件按照单列统计信息进行估算,得到每列所述未
估算谓词过滤条件对应的选择率。
4 .根据权利要求3所述的数据库操作语句的基数估算方法,其中,
所述循环查找所述数据库操作语句中的最佳预设扩展统计信息进行选择率估算的步
骤之后还包括:
将估算得到的所述选择率相乘,得到所述数据库操作语句对应的最终选择率;
根据所述最终选择率计算得到所述数据库操作语句对应的基数估算值。
5 .根据权利要求4所述的数据库操作语句的基数估算方法,其中,
所述根据所述最终选择率计算得到所述数据库操作语句对应的基数估算值的步骤包
括:
获取所述数据库操作语句对应的数据表的总数据行数;
将所述最终选择率与所述总数据行数相乘计算得到所述基数估算值。
6 .根据权利要求1所述的数据库操作语句的基数估算方法,其中,
所述判断所述数据库操作语句是否满足预设条件的步骤包括:
获取所述数据库操作语句中的所述谓词过滤条件;
判断所述谓词过滤条件是否均属于同一数据表;
权 利 要 求 书
1/2 页
2
评论