1 .一种数据库索引建议处理方法,其特征在于,包括:
在待优化SQL语句执行至查询优化阶段优化预设查询子句时,捕获并记录所述预设查
询子句对应的可索引信息;
基于所述可索引信息,为所述待优化SQL语句创建优化索引建议;
基于所述优化索引建议创建假设索引,基于所述假设索引确定待优化SQL语句的性能
改善收益率。
2.根据权利要求1所述的数据库索引建议处理方法,其特征在于,所述预设查询子句包
括最值子句、排序子句、过滤条件和连接条件中的一个或多个;
所述在待优化SQL语句执行至查询优化阶段优化预设查询子句时,捕获并记录所述预
设查询子句对应的可索引信息,包括:
在所述预设查询子句使用索引进行优化时,通过优化器分别捕获记录对应的最值可索
引信息、排序可索引信息、过滤可索引信息和连接可索引信息。
3 .根据权利要求2所述的数据库索引建议处理方法,其特征在于,所述基于所述可索引
信息,为所述待优化SQL语句创建优化索引建议,包括:
对于所述最值可索引信息和排序可索引信息,所述数据库的索引系统基于提取的所述
最值子句和排序子句涉及的表名信息和列名信息创建优化索引建议语句;
对于所述过滤可索引信息和连接可索引信息,查询确定所述数据库的索引系统是否支
持与所述过滤条件和连接条件相关的操作符;若支持则由所述索引系统基于提取的所述过
滤条件和连接条件涉及的表名信息和列名信息创建优化索引建议语句。
4 .根据权利要求3所述的数据库索引建议处理方法,其特征在于,所述数据库的索引系
统支持B树索引、B+数索引、哈希索引中的一个或多个;所述最值子句包括MAX子句/MIN子
句。
5 .根据权利要求1~4任一项所述的数据库索引建议处理方法,其特征在于,所述基于
所述优化索引建议创建假设索引,包括:
在内存中创建系统假设索引表;
在所述系统假设索引表中存储假设索引的元信息,所述元信息包括索引名称、索引类
型、表对象标识符、索引列个数、索引列名、索引列类型、索引操作符中的一个或多个。
6 .根据权利要求5所述的数据库索引建议处理方法,其特征在于,所述基于所述假设索
引确定待优化SQL语句的性能改善收益率,包括:
估算所述待优化SQL语句的原始执行计划的第一总代价;
将所述假设索引配置于所述原始执行计划中构成优化执行计划;
估算所述优化执行计划的第二总代价,基于所述第一总代价和第二总代价确定所述收
益率。
7 .根据权利要求6所述的数据库索引建议处理方法,其特征在于,所述基于所述第一总
代价和第二总代价确定所述收益率,包括:
确定所述第一总代价减去第二总代价的差值;
将所述差值除以所述第一总代价得到的百分比值作为所述收益率。
8.根据权利要求6所述的数据库索引建议处理方法,其特征在于,所述将所述假设索引
配置于所述原始执行计划中构成优化执行计划,包括:
权 利 要 求 书
1/2 页
2
评论