CN113590632B - 数据库索引创建方法、装置、设备及介质 - Google Patents

数据库索引创建方法、装置、设备及介质 Download PDF

Info

Publication number
CN113590632B
CN113590632B CN202110919055.2A CN202110919055A CN113590632B CN 113590632 B CN113590632 B CN 113590632B CN 202110919055 A CN202110919055 A CN 202110919055A CN 113590632 B CN113590632 B CN 113590632B
Authority
CN
China
Prior art keywords
index
field
data table
preset
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110919055.2A
Other languages
English (en)
Other versions
CN113590632A (zh
Inventor
沙沛磊
齐秀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Yuntuo Technology Co ltd
Shenzhen Lian Intellectual Property Service Center
Original Assignee
Beijing Yuntuo Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Yuntuo Technology Co ltd filed Critical Beijing Yuntuo Technology Co ltd
Priority to CN202110919055.2A priority Critical patent/CN113590632B/zh
Publication of CN113590632A publication Critical patent/CN113590632A/zh
Application granted granted Critical
Publication of CN113590632B publication Critical patent/CN113590632B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

数据库索引创建方法、装置、设备及介质
技术领域
本发明涉及研发过程优化技术领域,尤其涉及一种数据库索引创建方法、装置、电子设备及计算机可读存储介质。
背景技术
在数字信息时代,企业、医院及学校等各类平台或***的数据库中都存储着非常庞大的数据,其中,单张数据表的数据量就有可能达到几十万条之多。因此面对如此庞大的数据量,如何快速查找或修改数据是数据库管理技术中的重中之重。
当前较为普遍的是利用数据库索引机制实现对上述数据库中数据的快速查询和修改,然而对数据库中的哪些数据表设置索引,选择数据表中哪些字段作为索引字段,当前主要依赖人工经验,这种索引创建方法存在索引创建有遗漏、有重复、索引无效以及创建不及时的问题,反而降低了数据查询的性能,因此当前数据库索引创建方法的效率有待提升。
发明内容
本发明提供一种数据库索引创建方法、装置、电子设备及计算机可读存储介质,其主要目的在于解决当前数据库索引创建方法依赖人工,索引创建效率低的问题。
为实现上述目的,本发明提供的一种数据库索引创建方法,包括:
从预设数据库中,定期获取每张数据表的包含条件字段的操作记录及所述数据表的数据量;
根据所述操作记录,统计所述每张数据表的操作频率及每种条件字段的使用次数;
选择所述数据量不小于预设的表数据量阈值且所述操作频率大于预设的操作频率阈值的数据表作为索引对象数据表;
从所述索引对象数据表中,选择所述条件字段的使用次数大于预设的使用次数阈值的条件字段作为初级索引字段集;
从所述初级索引字段集中,剔除所述索引对象数据表的历史索引字段,将剔除所述历史索引字段后的所述初级索引字段集作为次级索引字段集;
统计所述次级索引字段集中每个字段在所述索引对象数据表中的枚举值及平均枚举值比例;
选择所述枚举值不小于预设的枚举值阈值且所述平均枚举值比例低于预设的枚举值比例阈值的字段作为目标索引字段,并将所述目标索引字段设置为所述索引对象数据表的索引字段。
可选地,所述从预设数据库中,定期获取每张数据表的包含条件字段的操作记录及所述数据表的数据量,包括:
扫描预设时间段内的所述预设数据库的操作日志;
从所述操作日志中,提取每张数据表的包含条件字段的操作信息,并将所述操作信息存储到预设的操作记录中;
统计所述数据库中所述每张数据表的数据量。
可选地,所述定期扫描预设时间段内的所述预设数据库的操作日志之前,所述方法,还包括:
获取所述预设数据库的操作日志的文件路径;
将所述操作日志的文件路径加载到预设的定期扫描任务中的扫描路径中。
可选地,所述统计所述每张数据表的操作频率及每种条件字段的使用次数,包括:
统计所述每张数据表的操作次数总和,计算得到所述数据表在所述预设时间段内操作频率;
从所述每张表的操作记录中解析得到每条操作记录中的条件字段;
统计所述预设时间段内每种所述条件字段的使用次数。
可选地,所述剔除所述索引对象数据表的历史索引字段,包括:
从所述索引对象数据表中,利用预设的SQL语句查询所述索引对象数据表的历史索引字段;
在所述初级索引字段集中,删除与所述历史索引字段相同的字段。
可选地,所述统计所述次级索引字段集中每个字段在所述索引对象数据表中的枚举值及平均枚举值比例,包括:
统计所述次级索引字段集中每个字段的枚举类型的数量,得到所述每个字段的枚举值;
统计所述每个字段的每种枚举类型对应的数据量;
计算所述每个字段的每种枚举类型对应的数据量与所述索引对象数据表的数据量的比值,得到所述每个字段的每种枚举类型的枚举值比例;
对所述每个字段的所有枚举类型的枚举值比例求平均,得到所述每个字段的平均枚举值比例。
可选地,所述将所述目标索引字段设置为所述索引对象数据表的索引字段之后,所述方法,还包括:
采集所述索引字段的属性;
将所述索引字段及所述索引字段的属性存储到预设的自动创建索引字段管理表中。
为了解决上述问题,本发明还提供一种数据库索引创建装置,所述装置包括:
数据库操作记录获取模块,用于从预设数据库中,定期获取每张数据表的包含条件字段的操作记录及所述数据表的数据量;
索引对象数据表确认模块,用于根据所述操作记录,统计所述每张数据表的操作频率及每种条件字段的使用次数;选择所述数据量不小于预设的表数据量阈值且所述操作频率大于预设的操作频率阈值的数据表作为索引对象数据表;
初级索引字段确认模块,用于从所述索引对象数据表中,选择所述条件字段的使用次数大于预设的使用次数阈值的条件字段作为初级索引字段集;
次级索引字段确认模块,用于从所述初级索引字段集中,剔除所述索引对象数据表的历史索引字段,将剔除所述历史索引字段后的所述初级索引字段集作为次级索引字段集;
目标索引字段确认与创建模块,用于统计所述次级索引字段集中每个字段在所述索引对象数据表中的枚举值及平均枚举值比例;选择所述枚举值不小于预设的枚举值阈值且所述平均枚举值比例低于预设的枚举值比例阈值的字段作为目标索引字段,并将所述目标索引字段设置为所述索引对象数据表的索引字段。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现上述所述的数据库索引创建方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的数据库索引创建方法。
本发明实施例通过定期获取预设数据库中每张数据表的操作记录,根据所述操作记录,统计所述每张数据表的操作频率、条件字段的使用次数、相关字段的枚举值及枚举值比例,并统计所述每张数据表的数据量,利用预设的相关阈值对上述统计数据的做相应的比较,确定索引对象数据表及目标索引字段,并将所述目标索引字段自动创建为所述索引对象数据表的索引字段,目标索引字段的确定过程符合索引字段的特点,即索引字段所在数据表的数据量大,索引字段作为条件字段反复出现,且索引字段本身的枚举值高,但枚举值比例不高的特点,保证了索引创建的科学性,同时,定期自动创建索引可以及时发现索引创建的漏洞,避免索引创建不及时,有遗漏的问题,从而提升了数据索引创建的效率。
附图说明
图1为本发明一实施例提供的数据库索引创建方法的流程示意图;
图2为图1所示数据库索引创建方法中其中一个步骤的详细实施流程示意图;
图3为图1所示数据库索引创建方法中其中一个步骤的详细实施流程示意图;
图4为图1所示数据库索引创建方法中其中一个步骤的详细实施流程示意图;
图5为本发明一实施例提供的数据库索引创建装置的功能模块图;
图6为本发明一实施例提供的实现所述数据库索引创建方法的电子设备的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种数据库索引创建方法。所述数据库索引创建方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述数据库索引创建方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
参照图1所示,为本发明一实施例提供的数据库索引创建方法的流程示意图。在本实施例中,所述数据库索引创建方法包括:
S1、从预设数据库中,定期获取每张数据表的包含条件字段的操作记录及所述数据表的数据量;
本发明实施例中,所述预设数据库可以是企业、医院及学校等各类平台或***的数据库,所述预设数据库的类型可以是oracle、mysql、ftp、sftp、hive等类型。
本发明实施例中,所述操作记录包括操作类型、操作对象及条件字段等信息,所述操作类型包括增加、删除、修改、查找等类型,所述操作对象包括数据表名或数据表ID及数据表中的字段。例如,从用户医疗费用表中,查询年龄大于50岁的用户的平均医疗费用,其中所述操作类型为查询,所述操作对象为所述用户医疗费用表及医疗费用,查询条件为年龄大于50岁,50岁在所述用户医疗费用表对应的字段就是所述条件字段。
本发明实施例中,可以利用数据库扫描机制获取所述预设数据库中每张数据表的操作记录。
详细地,参阅图2所示,所述S1,包括:
S11、定期扫描预设时间段内的所述预设数据库的操作日志;
S12、从所述操作日志中,提取每张数据表的包含条件字段的操作信息,并将所述操作信息存储到预设的操作记录中;
S13、统计所述数据库中所述每张数据表的数据量。
进一步地,本发明实施例中,在所述定期扫描预设时间段内的所述预设数据库的操作日志之前,所述方法还包括:获取所述预设数据库的操作日志的文件路径;将所述操作日志的文件路径加载到预设的定期扫描任务中的扫描路径中。
通过上述操作可以实现定期扫描所述预设数据库的操作日志的功能。
本发明实施例中,所述定期扫描是指按照一定频率执行扫描操作,例如,每个一天的凌晨00:00执行对所述数据库的扫描操作。
本发明实施例中,可以定期自动触发对所述预设数据库的扫描操作,可以达到及时审视数据库的操作情况,并根据所述操作情况,设置相关的数据库索引字段的效果。
S2、根据所述操作记录,统计所述每张数据表的操作频率及每种条件字段的使用次数;
本发明实施例中,所述操作频率是指单位时间内对同一数据表进行数据查询、修改、增加、删除等操作的总次数。
所述每种条件字段的使用次数是指同一条件字段的出现次数,例如,在同一张表中两条查询操作中条件字段均为年龄字段,三条修改操作中的条件字段分别都是年龄字段,则所述年龄字段作为条件字段出现的次数为5次。
详细地,参阅图3所示,所述S2,包括:
S21、统计所述每张数据表的操作次数总和,计算得到所述数据表在所述预设时间段内操作频率;
S22、从所述每张表的操作记录中解析得到每条操作记录中的条件字段;
S23、统计所述预设时间段内每种所述条件字段的使用次数。
本发明实施例中,较佳地,可以采用表格的形式记录每张数据表的操作频率及每种条件字段的使用次数,这样可以便于对数据表的操作频率和条件字段的使用次数进行查询和比较。
S3、选择所述数据量不小于预设的表数据量阈值且所述操作频率大于预设的操作频率阈值的数据表作为索引对象数据表;
本发明实施例中,所述索引对象数据表是指需要创建索引字段的数据表。
如果所述数据库中的一张数据表的数据量比较小,相应的查找所述数据表中的数据的开销不大,这种情况下,对所述数据表设置索引字段的作用不明显。同理,如果所述数据表的操作频率低,即单位时间内对所述数据表的操作次数少,不建议对操作频率低的数据表创建索引。
详细地,所述选择所述数据量不小于预设的表数据量阈值且所述操作频率大于预设的操作频率阈值的数据表作为索引对象数据表,包括:
从所述数据库的所有数据表中筛选所述数据量不小于预设的表数据量阈值的数据表;从所述数据量不小于预设的表数据量阈值的数据表中筛选所述操作频率大于预设操作频率阈值的数据表作为索引对象数据表。
S4、从所述索引对象数据表中,选择所述条件字段的使用次数大于预设的使用次数阈值的条件字段作为初级索引字段集;
本发明实施例中,所述预设条件字段使用次数阈值,可以根据实际情况进行调整,同一条件字段的使用次数越多,表示所述条件字段的具有设置为索引字段的可能性就越高。
S5、从所述初级索引字段集中剔除所述索引对象数据表的历史索引字段,将剔除所述历史索引字段后的所述初级索引字段集作为次级索引字段集;
本发明实施例中,通过遍历和比较所述初级索引字段集与所述索引对象数据表中历史索引字段,从所述初级索引字段集中剔所述历史索引字段,得到所述次级索引字段集。
详细地,所述从所述初级索引字段集中剔除所述索引对象数据表的历史索引字段,包括:从所述索引对象数据表中,利用预设的SQL语句查询所述索引对象数据表的历史索引字段;在所述初级索引字段集中,删除与所述历史索引字段相同的字段。
S6、统计所述次级索引字段集中每个字段在所述索引对象数据表中的枚举值及平均枚举值比例;
本发明实施例中,所述枚举值是指所述索引对象数据表中的一个字段存在固定的取值类型,所述固定的取值类型的数量就是所述字段的枚举值,例如,星期字段,包括星期一到星期天这7种取值类型,则所述星期字段的枚举值就是7,其中星期一是所述星期字段的一种枚举类型。
本发明实施例中,所述枚举值比例是指所述索引对象数据表中的一个字段的一种枚举类型对应取值的数据量与所述索引对象数据表的数据量之间的比值。例如,所述星期字段取值类型为星期一的数据量为500,所述星期字段所在的所述索引对象数据表的数据量为10W,则所述星期字段对应的星期一这种枚举类型的枚举值比例为0.005。
详细地,参阅图4所示,所述S6,包括:
S61、统计所述次级索引字段集中每个字段的枚举类型的数量,得到所述每个字段的枚举值;
S62、统计所述每个字段的每种枚举类型对应的数据量;
S63、计算所述每个字段的每种枚举类型对应的数据量与所述索引对象数据表的数据量的比值,得到所述每个字段的每种枚举类型的枚举值比例;
S64、对所述每个字段的所有枚举类型的枚举值比例求平均,得到所述每个字段的平均枚举值比例。
本发明另一个实施例中,可以对所述每个字段的每种枚举类型对应的枚举值比例设置不同的权重,对所述每个字段的所有枚举类型的枚举值比例进行加权求平均,得到所述每个字段的平均枚举值比例,这样可以保证所述平均枚举值比例更加符合实际数据操作的情况。
S7、选择所述枚举值不小于预设的枚举值阈值且所述平均枚举值比例低于预设的枚举值比例阈值的字段作为目标索引字段,并将所述目标索引字段设置为所述索引对象数据表的索引字段。
本发明实施例中,字段的枚举值越高,表示所述字段的使用场景就越多,相应的数据操作的概率就越大,但是如果所述字段的平均枚举值比例越高,表述所述字段的不同枚举类型对应的数据量比较大,针对数据量大的字段设置索引,在数据查询过程中需要频繁查询索引,从而导致***开销变大,因此本发明实施例中,选择所述枚举值不小于预设的枚举值阈值且所述平均枚举值比例低于预设的枚举值比例阈值的字段作为目标索引字段。
详细地,所述选择所述枚举值不小于预设的枚举值阈值且所述平均枚举值比例低于预设的枚举值比例阈值的字段作为目标索引字段,包括:
从所述初级索引字段集中筛选所述枚举值不小于所述预设枚举值阈值的字段;从所述枚举值不小于所述预设枚举值阈值的字段中筛选所述平均枚举值比例低于所述预设的枚举值比例阈值的字段作为目标索引字段。
详细地,所述将所述目标索引字段设置为所述索引对象数据表的索引字段之后,还包括:采集所述索引字段的属性;将所述索引字段及所述索引字段的属性存储到预设的自动创建索引字段管理表中。
本发明实施例中,所述索引字段的属性可以包括索引名称、索引类型、索引字段位置及自动创建时间,所述预设的自动创建索引字段管理表是便于数据库管理人员审视自动索引创建的情况,及时排查潜在的风险,并做出相应的调整。例如,一定时间段内,同一张数据表中自动创建的索引数量显著增加,针对这种情况,需要及时审视所述数据表的数据结构设计是否合理,并做出相应的数据结构的调整。
本发明实施例通过定期扫描数据库操作记录,根据所述操作记录,统计每张数据表的数据量、所述数据操作频率、所述条件字段的使用次数、所述枚举值及所述枚举值比例,通过对上述统计数据的一系列比较,确定索引数据对象表及目标索引字段,并将所述目标索引字段自动创建为所述索引对象表的索引字段,目标索引字段的确定过程符合索引字段的特点,即索引字段所在数据表的数据量大,索引字段作为条件字段反复出现,且索引字段本身的枚举值高,但枚举值比例不高的特点,保证了索引创建的科学性,同时,定期自动创建索引可以及时发现索引创建的漏洞,避免索引创建不及时,有遗漏的问题,从而提升了数据索引创建的效率。
如图5所示,是本发明一实施例提供的数据库索引创建装置的功能模块图。
本发明所述数据库索引创建装置100可以安装于电子设备中。根据实现的功能,所述数据库索引创建装置100可以包括数据库操作记录获取模块101、索引对象数据表确认模块102、初级索引字段确认模块103、次级索引字段确认模块104及目标索引字段确认与创建模块105。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述数据库操作记录获取模块101,用于从预设数据库中,定期获取每张数据表的包含条件字段的操作记录及所述数据表的数据量;
所述索引对象数据表确认模块102,用于根据所述操作记录,统计所述每张数据表的操作频率及每种条件字段的使用次数;选择所述数据量不小于预设的表数据量阈值且所述操作频率大于预设的操作频率阈值的数据表作为索引对象数据表;
所述初级索引字段确认模块103,用于从所述索引对象数据表中,选择所述条件字段的使用次数大于预设的使用次数阈值的条件字段作为初级索引字段集;
所述次级索引字段确认模块104,用于从所述初级索引字段集中,剔除所述索引对象数据表的历史索引字段,将剔除所述历史索引字段后的所述初级索引字段集作为次级索引字段集;
所述目标索引字段确认与创建模块105,用于统计所述次级索引字段集中每个字段在所述索引对象数据表中的枚举值及平均枚举值比例;选择所述枚举值不小于预设的枚举值阈值且所述平均枚举值比例低于预设的枚举值比例阈值的字段作为目标索引字段,并将所述目标索引字段设置为所述索引对象数据表的索引字段。
详细地,本发明实施例中所述数据库索引创建装置100中的各个模块在使用时采用与上述的图1至图4中所述的数据库索引创建方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
如图6所示,是本发明一实施例提供的实现数据库索引创建方法的电子设备的结构示意图。
所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如数据库索引创建程序。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如数据库索引创建程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如数据库索引创建程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
图6仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图6示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的数据库索引创建程序是多个指令的组合,在所述处理器10中运行时,可以实现:
从预设数据库中,定期获取每张数据表的包含条件字段的操作记录及所述数据表的数据量;
根据所述操作记录,统计所述每张数据表的操作频率及每种条件字段的使用次数;
选择所述数据量不小于预设的表数据量阈值且所述操作频率大于预设的操作频率阈值的数据表作为索引对象数据表;
从所述索引对象数据表中,选择所述条件字段的使用次数大于预设的使用次数阈值的条件字段作为初级索引字段集;
从所述初级索引字段集中,剔除所述索引对象数据表的历史索引字段,将剔除所述历史索引字段后的所述初级索引字段集作为次级索引字段集;
统计所述次级索引字段集中每个字段在所述索引对象数据表中的枚举值及平均枚举值比例;
选择所述枚举值不小于预设的枚举值阈值且所述平均枚举值比例低于预设的枚举值比例阈值的字段作为目标索引字段,并将所述目标索引字段设置为所述索引对象数据表的索引字段。
具体地,所述处理器10对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
从预设数据库中,定期获取每张数据表的包含条件字段的操作记录及所述数据表的数据量;
根据所述操作记录,统计所述每张数据表的操作频率及每种条件字段的使用次数;
选择所述数据量不小于预设的表数据量阈值且所述操作频率大于预设的操作频率阈值的数据表作为索引对象数据表;
从所述索引对象数据表中,选择所述条件字段的使用次数大于预设的使用次数阈值的条件字段作为初级索引字段集;
从所述初级索引字段集中,剔除所述索引对象数据表的历史索引字段,将剔除所述历史索引字段后的所述初级索引字段集作为次级索引字段集;
统计所述次级索引字段集中每个字段在所述索引对象数据表中的枚举值及平均枚举值比例;
选择所述枚举值不小于预设的枚举值阈值且所述平均枚举值比例低于预设的枚举值比例阈值的字段作为目标索引字段,并将所述目标索引字段设置为所述索引对象数据表的索引字段。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。***权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (9)

1.一种数据库索引创建方法,其特征在于,所述方法包括:
从预设数据库中,定期获取每张数据表的包含条件字段的操作记录及所述数据表的数据量;
根据所述操作记录,统计所述每张数据表的操作频率及每种条件字段的使用次数;
选择所述数据量不小于预设的表数据量阈值且所述操作频率大于预设的操作频率阈值的数据表作为索引对象数据表;
从所述索引对象数据表中,选择所述条件字段的使用次数大于预设的使用次数阈值的条件字段作为初级索引字段集;
从所述初级索引字段集中,剔除所述索引对象数据表的历史索引字段,将剔除所述历史索引字段后的所述初级索引字段集作为次级索引字段集;
统计所述次级索引字段集中每个字段在所述索引对象数据表中的枚举值及平均枚举值比例,其中,所述枚举值是指所述索引对象数据表中的一个字段存在固定的取值类型,所述固定的取值类型的数量就是所述字段的枚举值,所述枚举值比例是指所述索引对象数据表中的一个字段的一种枚举类型对应取值的数据量与所述索引对象数据表的数据量之间的比值;
选择所述枚举值不小于预设的枚举值阈值且所述平均枚举值比例低于预设的枚举值比例阈值的字段作为目标索引字段,并将所述目标索引字段设置为所述索引对象数据表的索引字段;
其中,所述统计所述次级索引字段集中每个字段在所述索引对象数据表中的枚举值及平均枚举值比例,包括:统计所述次级索引字段集中每个字段的枚举类型的数量,得到所述每个字段的枚举值;统计所述每个字段的每种枚举类型对应的数据量;计算所述每个字段的每种枚举类型对应的数据量与所述索引对象数据表的数据量的比值,得到所述每个字段的每种枚举类型的枚举值比例;对所述每个字段的所有枚举类型的枚举值比例求平均,得到所述每个字段的平均枚举值比例。
2.如权利要求1所述的数据库索引创建方法,其特征在于,所述从预设数据库中,定期获取每张数据表的包含条件字段的操作记录及所述数据表的数据量,包括:
定期扫描预设时间段内的所述预设数据库的操作日志;
从所述操作日志中,提取每张数据表的包含条件字段的操作信息,并将所述操作信息存储到预设的操作记录中;
统计所述数据库中所述每张数据表的数据量。
3.如权利要求2所述的数据库索引创建方法,其特征在于,所述定期扫描预设时间段内的所述预设数据库的操作日志之前,所述方法还包括:
获取所述预设数据库的操作日志的文件路径;
将所述操作日志的文件路径加载到预设的定期扫描任务中的扫描路径中。
4.如权利要求2所述的数据库索引创建方法,其特征在于,所述统计所述每张数据表的操作频率及每种条件字段的使用次数,包括:
统计所述每张数据表的操作次数总和,计算得到所述数据表在所述预设时间段内操作频率;
从所述每张数据表的操作记录中解析得到每条操作记录中的条件字段;
统计所述预设时间段内每种所述条件字段的使用次数。
5.如权利要求1所述的数据库索引创建方法,其特征在于,所述剔除所述索引对象数据表的历史索引字段,包括:
从所述索引对象数据表中,利用预设的SQL语句查询所述索引对象数据表的历史索引字段;
在所述初级索引字段集中,删除与所述历史索引字段相同的字段。
6.如权利要求1所述的数据库索引创建方法,其特征在于,所述将所述目标索引字段设置为所述索引对象数据表的索引字段之后,所述方法,还包括:
采集所述索引字段的属性;
将所述索引字段及所述索引字段的属性存储到预设的自动创建索引字段管理表中。
7.一种数据库索引创建装置,用于实现如权利要求1至6中任意一项所述的数据库索引创建方法,其特征在于,所述装置包括:
数据库操作记录获取模块,用于从预设数据库中,定期获取每张数据表的包含条件字段的操作记录及所述数据表的数据量;
索引对象数据表确认模块,用于根据所述操作记录,统计所述每张数据表的操作频率及每种条件字段的使用次数;选择所述数据量不小于预设的表数据量阈值且所述操作频率大于预设的操作频率阈值的数据表作为索引对象数据表;
初级索引字段确认模块,用于从所述索引对象数据表中,选择所述条件字段的使用次数大于预设的使用次数阈值的条件字段作为初级索引字段集;
次级索引字段确认模块,用于从所述初级索引字段集中,剔除所述索引对象数据表的历史索引字段,将剔除所述历史索引字段后的所述初级索引字段集作为次级索引字段集;
目标索引字段确认与创建模块,用于统计所述次级索引字段集中每个字段在所述索引对象数据表中的枚举值及平均枚举值比例;选择所述枚举值不小于预设的枚举值阈值且所述平均枚举值比例低于预设的枚举值比例阈值的字段作为目标索引字段,并将所述目标索引字段设置为所述索引对象数据表的索引字段。
8.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至6中任意一项所述的数据库索引创建方法。
9.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任意一项所述的数据库索引创建方法。
CN202110919055.2A 2021-08-11 2021-08-11 数据库索引创建方法、装置、设备及介质 Active CN113590632B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110919055.2A CN113590632B (zh) 2021-08-11 2021-08-11 数据库索引创建方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110919055.2A CN113590632B (zh) 2021-08-11 2021-08-11 数据库索引创建方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN113590632A CN113590632A (zh) 2021-11-02
CN113590632B true CN113590632B (zh) 2023-12-19

Family

ID=78257242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110919055.2A Active CN113590632B (zh) 2021-08-11 2021-08-11 数据库索引创建方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN113590632B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116069777A (zh) * 2021-11-03 2023-05-05 中兴通讯股份有限公司 索引创建方法、装置和计算机可读存储介质
CN114048216B (zh) * 2022-01-12 2022-05-20 中兴通讯股份有限公司 索引选择方法、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810212A (zh) * 2012-11-14 2014-05-21 阿里巴巴集团控股有限公司 一种数据库索引的自动创建方法及***
CN105320679A (zh) * 2014-07-11 2016-02-10 ***通信集团重庆有限公司 一种数据表索引集合生成方法及装置
CN107016018A (zh) * 2015-10-23 2017-08-04 阿里巴巴集团控股有限公司 数据库索引创建方法及装置
CN107239451A (zh) * 2016-03-28 2017-10-10 北京京东尚科信息技术有限公司 数据库索引创建方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003001720A2 (en) * 2001-06-21 2003-01-03 Isc, Inc. Database indexing method and apparatus
US7499907B2 (en) * 2001-10-12 2009-03-03 Teradata Us, Inc. Index selection in a database system
US6823329B2 (en) * 2002-04-02 2004-11-23 Sybase, Inc. Database system providing methodology for acceleration of queries involving functional expressions against columns having enumerated storage
CN105045851A (zh) * 2015-07-07 2015-11-11 福建天晴数码有限公司 根据日志分析自动创建数据库索引的方法及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810212A (zh) * 2012-11-14 2014-05-21 阿里巴巴集团控股有限公司 一种数据库索引的自动创建方法及***
CN105320679A (zh) * 2014-07-11 2016-02-10 ***通信集团重庆有限公司 一种数据表索引集合生成方法及装置
CN107016018A (zh) * 2015-10-23 2017-08-04 阿里巴巴集团控股有限公司 数据库索引创建方法及装置
CN107239451A (zh) * 2016-03-28 2017-10-10 北京京东尚科信息技术有限公司 数据库索引创建方法和装置

Also Published As

Publication number Publication date
CN113590632A (zh) 2021-11-02

Similar Documents

Publication Publication Date Title
CN113590632B (zh) 数据库索引创建方法、装置、设备及介质
CN112115143B (zh) 数据自动更新及同步方法、装置、电子设备及存储介质
CN112445875B (zh) 数据关联及检验方法、装置、电子设备及存储介质
CN114979120B (zh) 数据上传方法、装置、设备及存储介质
CN112883042A (zh) 数据更新及展示方法、装置、电子设备及存储介质
CN112115152A (zh) 数据增量更新及查询方法、装置、电子设备及存储介质
CN114610747A (zh) 数据查询方法、装置、设备及存储介质
CN114612194A (zh) 产品推荐方法、装置、电子设备及存储介质
CN111694843A (zh) 缺失号码检测方法、装置、电子设备及存储介质
CN116843150A (zh) 基于智慧物联网的社区服务方法及***
CN113849520B (zh) 异常sql的智能识别方法、装置、电子设备及存储介质
CN114238375B (zh) 指标查询方法、装置、电子设备及存储介质
CN111652281B (zh) 信息数据的分类方法、装置及可读存储介质
CN115774717A (zh) 数据搜索方法、装置、电子设备及计算机可读存储介质
CN114490137A (zh) 业务数据实时统计方法、装置、电子设备及可读存储介质
CN115062023A (zh) 宽表优化方法、装置、电子设备及计算机可读存储介质
CN113419718A (zh) 数据报送方法、装置、设备及介质
CN112527785A (zh) 数据补录方法、装置、电子设备及存储介质
CN112559531B (zh) 数据收集方法、装置、电子设备及存储介质
CN113627800B (zh) 水源地巡查点位确定方法、装置、电子设备及介质
CN115225489B (zh) 队列业务流量阈值动态控制方法、电子设备及存储介质
CN113360767B (zh) 信息推送方法、装置、电子设备及存储介质
CN112632066B (zh) 自动分表数据存取方法、装置、电子设备及存储介质
CN114036174B (zh) 数据更新方法、装置、设备及存储介质
CN114817408B (zh) 调度资源识别方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20231121

Address after: Room 501-1, 5th Floor, Building 2, No. 75 Lusong Street, Shahe Town, Changping District, Beijing, 100000

Applicant after: Beijing Yuntuo Technology Co.,Ltd.

Address before: 518000 Room 202, block B, aerospace micromotor building, No.7, Langshan No.2 Road, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: Shenzhen LIAN intellectual property service center

Effective date of registration: 20231121

Address after: 518000 Room 202, block B, aerospace micromotor building, No.7, Langshan No.2 Road, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen LIAN intellectual property service center

Address before: 518000 Room 201, building A, 1 front Bay Road, Shenzhen Qianhai cooperation zone, Shenzhen, Guangdong

Applicant before: PING AN PUHUI ENTERPRISE MANAGEMENT Co.,Ltd.

GR01 Patent grant
GR01 Patent grant