本发明涉及计算机,尤其涉及数据库索引推荐方法及装置。
背景技术:
1、本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
2、现有的数据库索引推荐方法一般基于人工判断或者针对单条sql进行索引推荐,单条sql推荐出来的索引可能影响到其他sql的效率。由于索引的维护需要消耗大量的计算和存储成本,针对单条sql的索引推荐方式,没有考虑到这条sql的业务特性及新建索引对数据库的全局影响,会产生过多的索引,带来额外的维护成本。这种方法准确性不高,效率较低。
技术实现思路
1、本发明实施例提供一种数据库索引推荐方法,用以提高数据库索引推荐的准确性及效率,该方法包括:
2、从日志中提取已经执行过的多条结构化查询语言sql文本、sql平均执行时长及每条sql文本对应的sql执行频率;
3、根据sql平均执行时长及每条sql文本对应的sql执行频率确定各个sql文本的业务权重;
4、解析sql文本,提取sql语句where条件中的字段信息;
5、根据各个sql文本的业务权重及提取的字段信息计算各个字段信息的业务权重和;
6、根据各个字段信息的业务权重和确定各个字段信息对应的推荐值;
7、根据各个字段信息对应的推荐值进行索引推荐。
8、本发明实施例还提供一种数据库索引推荐装置,用以提高数据库索引推荐的准确性及效率,该装置包括:
9、解析模块,用于从日志中提取已经执行过的多条结构化查询语言sql文本、sql平均执行时长及每条sql文本对应的sql执行频率;根据sql平均执行时长及每条sql文本对应的sql执行频率确定各个sql文本的业务权重;解析sql文本,提取sql语句where条件中的字段信息;
10、推荐模块,根据各个sql文本的业务权重及提取的字段信息计算各个字段信息的业务权重和;根据各个字段信息的业务权重和确定各个字段信息对应的推荐值;根据各个字段信息对应的推荐值进行索引推荐。
11、本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据库索引推荐方法。
12、本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据库索引推荐方法。
13、本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述数据库索引推荐方法。
14、本发明实施例中,从日志中提取已经执行过的多条结构化查询语言sql文本、sql平均执行时长及每条sql文本对应的sql执行频率;根据sql平均执行时长及每条sql文本对应的sql执行频率确定各个sql文本的业务权重;解析sql文本,提取sql语句where条件中的字段信息;根据各个sql文本的业务权重及提取的字段信息计算各个字段信息的业务权重和;根据各个字段信息的业务权重和确定各个字段信息对应的推荐值;根据各个字段信息对应的推荐值进行索引推荐,与现有技术相比,根据各个字段信息的业务权重和确定各个字段信息的对应的推荐值,实现对数据库sql进行快速分析判断,提高了数据库索引推荐的准确性及效率,针对数据库实现了最优的索引创建。
1.一种数据库索引推荐方法,其特征在于,包括:
2.如权利要求1所述的数据库索引推荐方法,其特征在于,根据sql平均执行时长及每条sql文本对应的sql执行频率确定各个sql文本的业务权重,包括:
3.如权利要求1所述的数据库索引推荐方法,其特征在于,根据各个字段信息的业务权重和确定各个字段信息的对应的推荐值,包括:
4.如权利要求3所述的数据库索引推荐方法,其特征在于,根据各个字段信息的业务权重和,及各个字段信息的离散度,确定各个字段信息的对应的推荐值,包括:
5.如权利要求1所述的数据库索引推荐方法,其特征在于,根据各个字段信息对应的推荐值进行索引推荐,包括:
6.一种数据库索引推荐装置,其特征在于,包括:
7.如权利要求6所述的数据库索引推荐装置,其特征在于,所述解析模块具体用于:
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一项所述方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至5任一项所述方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至5任一项所述方法。