数据库索引创建方法、装置、设备及介质制造方法及图纸

技术编号:30653311 阅读:57 留言:0更新日期:2021-11-04 01:17
本发明专利技术涉及研发过程优化技术,揭露一种数据库索引创建方法,包括:获取数据库中每张数据表包含条件字段的操作记录及所述数据表的数据量,根据所述操作记录统计所述每张数据表的操作频率及每种条件字段的使用次数,利用所述操作频率及所述数据量,筛选所述数据库的数据表得到索引对象数据表,利用所述条件字段的使用次数及历史索引字段,对所述索引对象数据表中的字段逐层筛选得到初级索引字段表集及次级索引字段集,统计所述次级索引字段集中每个字段的枚举值及平均枚举值比例,为所述枚举值及所述平均枚举值比例均满足预设条件的字段创建索引。本发明专利技术还提出一种数据库索引创建装置、设备及介质。本发明专利技术可以提升数据库索引创建的效率。创建的效率。创建的效率。

【技术实现步骤摘要】
数据库索引创建方法、装置、设备及介质


[0001]本专利技术涉及研发过程优化
,尤其涉及一种数据库索引创建方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]在数字信息时代,企业、医院及学校等各类平台或系统的数据库中都存储着非常庞大的数据,其中,单张数据表的数据量就有可能达到几十万条之多。因此面对如此庞大的数据量,如何快速查找或修改数据是数据库管理技术中的重中之重。
[0003]当前较为普遍的是利用数据库索引机制实现对上述数据库中数据的快速查询和修改,然而对数据库中的哪些数据表设置索引,选择数据表中哪些字段作为索引字段,当前主要依赖人工经验,这种索引创建方法存在索引创建有遗漏、有重复、索引无效以及创建不及时的问题,反而降低了数据查询的性能,因此当前数据库索引创建方法的效率有待提升。

技术实现思路

[0004]本专利技术提供一种数据库索引创建方法、装置、电子设备及计算机可读存储介质,其主要目的在于解决当前数据库索引创建方法依赖人工,索引创建效率低的问题。
[0005]为实现上述目的,本专利技术提供的一种数据库索引创建方法,包括:
[0006]从预设数据库中,定期获取每张数据表的包含条件字段的操作记录及所述数据表的数据量;
[0007]根据所述操作记录,统计所述每张数据表的操作频率及每种条件字段的使用次数;
[0008]选择所述数据量不小于预设的表数据量阈值且所述操作频率大于预设的操作频率阈值的数据表作为索引对象数据表;
[0009]从所述索引对象数据表中,选择所述条件字段的使用次数大于预设的使用次数阈值的条件字段作为初级索引字段集;
[0010]从所述初级索引字段集中,剔除所述索引对象数据表的历史索引字段,将剔除所述历史索引字段后的所述初级索引字段集作为次级索引字段集;
[0011]统计所述次级索引字段集中每个字段在所述索引对象数据表中的枚举值及平均枚举值比例;
[0012]选择所述枚举值不小于预设的枚举值阈值且所述平均枚举值比例低于预设的枚举值比例阈值的字段作为目标索引字段,并将所述目标索引字段设置为所述索引对象数据表的索引字段。
[0013]可选地,所述从预设数据库中,定期获取每张数据表的包含条件字段的操作记录及所述数据表的数据量,包括:
[0014]扫描预设时间段内的所述预设数据库的操作日志;
[0015]从所述操作日志中,提取每张数据表的包含条件字段的操作信息,并将所述操作
信息存储到预设的操作记录中;
[0016]统计所述数据库中所述每张数据表的数据量。
[0017]可选地,所述定期扫描预设时间段内的所述预设数据库的操作日志之前,所述方法,还包括:
[0018]获取所述预设数据库的操作日志的文件路径;
[0019]将所述操作日志的文件路径加载到预设的定期扫描任务中的扫描路径中。
[0020]可选地,所述统计所述每张数据表的操作频率及每种条件字段的使用次数,包括:
[0021]统计所述每张数据表的操作次数总和,计算得到所述数据表在所述预设时间段内操作频率;
[0022]从所述每张表的操作记录中解析得到每条操作记录中的条件字段;
[0023]统计所述预设时间段内每种所述条件字段的使用次数。
[0024]可选地,所述剔除所述索引对象数据表的历史索引字段,包括:
[0025]从所述索引对象数据表中,利用预设的SQL语句查询所述索引对象数据表的历史索引字段;
[0026]在所述初级索引字段集中,删除与所述历史索引字段相同的字段。
[0027]可选地,所述统计所述次级索引字段集中每个字段在所述索引对象数据表中的枚举值及平均枚举值比例,包括:
[0028]统计所述次级索引字段集中每个字段的枚举类型的数量,得到所述每个字段的枚举值;
[0029]统计所述每个字段的每种枚举类型对应的数据量;
[0030]计算所述每个字段的每种枚举类型对应的数据量与所述索引对象数据表的数据量的比值,得到所述每个字段的每种枚举类型的枚举值比例;
[0031]对所述每个字段的所有枚举类型的枚举值比例求平均,得到所述每个字段的平均枚举值比例。
[0032]可选地,所述将所述目标索引字段设置为所述索引对象数据表的索引字段之后,所述方法,还包括:
[0033]采集所述索引字段的属性;
[0034]将所述索引字段及所述索引字段的属性存储到预设的自动创建索引字段管理表中。
[0035]为了解决上述问题,本专利技术还提供一种数据库索引创建装置,所述装置包括:
[0036]数据库操作记录获取模块,用于从预设数据库中,定期获取每张数据表的包含条件字段的操作记录及所述数据表的数据量;
[0037]索引对象数据表确认模块,用于根据所述操作记录,统计所述每张数据表的操作频率及每种条件字段的使用次数;选择所述数据量不小于预设的表数据量阈值且所述操作频率大于预设的操作频率阈值的数据表作为索引对象数据表;
[0038]初级索引字段确认模块,用于从所述索引对象数据表中,选择所述条件字段的使用次数大于预设的使用次数阈值的条件字段作为初级索引字段集;
[0039]次级索引字段确认模块,用于从所述初级索引字段集中,剔除所述索引对象数据表的历史索引字段,将剔除所述历史索引字段后的所述初级索引字段集作为次级索引字段
集;
[0040]目标索引字段确认与创建模块,用于统计所述次级索引字段集中每个字段在所述索引对象数据表中的枚举值及平均枚举值比例;选择所述枚举值不小于预设的枚举值阈值且所述平均枚举值比例低于预设的枚举值比例阈值的字段作为目标索引字段,并将所述目标索引字段设置为所述索引对象数据表的索引字段。
[0041]为了解决上述问题,本专利技术还提供一种电子设备,所述电子设备包括:
[0042]存储器,存储至少一个指令;及
[0043]处理器,执行所述存储器中存储的指令以实现上述所述的数据库索引创建方法。
[0044]为了解决上述问题,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的数据库索引创建方法。
[0045]本专利技术实施例通过定期获取预设数据库中每张数据表的操作记录,根据所述操作记录,统计所述每张数据表的操作频率、条件字段的使用次数、相关字段的枚举值及枚举值比例,并统计所述每张数据表的数据量,利用预设的相关阈值对上述统计数据的做相应的比较,确定索引对象数据表及目标索引字段,并将所述目标索引字段自动创建为所述索引对象数据表的索引字段,目标索引字段的确定过程符合索引字段的特点,即索引字段所在数据表的数据量大,索引字段作为条件字段反复出现,且索引字段本身的枚举值高,但枚举值比例不高的特点,保证了索引创建的科学性,同时,定期自动创建索引可以及时发现索引创建的漏洞,避免索引创建本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库索引创建方法,其特征在于,所述方法包括:从预设数据库中,定期获取每张数据表的包含条件字段的操作记录及所述数据表的数据量;根据所述操作记录,统计所述每张数据表的操作频率及每种条件字段的使用次数;选择所述数据量不小于预设的表数据量阈值且所述操作频率大于预设的操作频率阈值的数据表作为索引对象数据表;从所述索引对象数据表中,选择所述条件字段的使用次数大于预设的使用次数阈值的条件字段作为初级索引字段集;从所述初级索引字段集中,剔除所述索引对象数据表的历史索引字段,将剔除所述历史索引字段后的所述初级索引字段集作为次级索引字段集;统计所述次级索引字段集中每个字段在所述索引对象数据表中的枚举值及平均枚举值比例;选择所述枚举值不小于预设的枚举值阈值且所述平均枚举值比例低于预设的枚举值比例阈值的字段作为目标索引字段,并将所述目标索引字段设置为所述索引对象数据表的索引字段。2.如权利要求1所述的数据库索引创建方法,其特征在于,所述从预设数据库中,定期获取每张数据表的包含条件字段的操作记录及所述数据表的数据量,包括:定期扫描预设时间段内的所述预设数据库的操作日志;从所述操作日志中,提取每张数据表的包含条件字段的操作信息,并将所述操作信息存储到预设的操作记录中;统计所述数据库中所述每张数据表的数据量。3.如权利要求2所述的数据库索引创建方法,其特征在于,所述定期扫描预设时间段内的所述预设数据库的操作日志之前,所述方法还包括:获取所述预设数据库的操作日志的文件路径;将所述操作日志的文件路径加载到预设的定期扫描任务中的扫描路径中。4.如权利要求2所述的数据库索引创建方法,其特征在于,所述统计所述每张数据表的操作频率及每种条件字段的使用次数,包括:统计所述每张数据表的操作次数总和,计算得到所述数据表在所述预设时间段内操作频率;从所述每张表的操作记录中解析得到每条操作记录中的条件字段;统计所述预设时间段内每种所述条件字段的使用次数。5.如权利要求1所述的数据库索引创建方法,其特征在于,所述剔除所述索引对象数据表的历史索引字段,包括:从所述索引对象数据表中,利用预设的SQL语句查询所述索引对象数据表的历史索引字段;在所述初级索引字段集中,删除与所述历史索引字段相同的字段。6.如权利要求1所述的数据库索引创建方法,其特征在于,所述统计所述次级索引字段集中每个字段在...

【专利技术属性】
技术研发人员:沙沛磊齐秀
申请(专利权)人:平安普惠企业管理有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1