CN116069777A - 索引创建方法、装置和计算机可读存储介质 - Google Patents

索引创建方法、装置和计算机可读存储介质 Download PDF

Info

Publication number
CN116069777A
CN116069777A CN202111294583.XA CN202111294583A CN116069777A CN 116069777 A CN116069777 A CN 116069777A CN 202111294583 A CN202111294583 A CN 202111294583A CN 116069777 A CN116069777 A CN 116069777A
Authority
CN
China
Prior art keywords
index
data table
field
frequency
fields
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.)
Pending
Application number
CN202111294583.XA
Other languages
English (en)
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN202111294583.XA priority Critical patent/CN116069777A/zh
Priority to PCT/CN2022/127445 priority patent/WO2023078130A1/zh
Publication of CN116069777A publication Critical patent/CN116069777A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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
    • 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/24Querying
    • G06F16/242Query formulation
    • 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/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • 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)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种索引创建方法、装置和计算机可读存储介质,方法包括:获取应用算法集合;根据应用算法集合得到数据表使用频度和字段使用方式频度;根据数据表使用频度和字段使用方式频度创建索引。在使用该索引创建方法来进行索引的创建时,通过这两个类型的频度,能够得知当前的高频词,最终建立的索引能够适用于当前的数据,提高检索的效率,提升用户对于数据使用的体验,提高数据访问的性能。

Description

索引创建方法、装置和计算机可读存储介质
技术领域
本发明涉及信息化技术领域,尤其涉及一种索引创建方法、装置和计算机可读存储介质。
背景技术
在关系数据库中,索引是一种单独的、物理的对数据库的表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。
相关技术中的创建索引的方法,需要由业务开发人员根据过往的经验来判断哪些字段适合用来创建索引。然而,这种创建索引的方式,可能会造成索引字段选取不合适,进而导致数据访问性能的降低。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例的主要目的在于提出一种索引创建方法、装置和计算机可读存储介质,能够提高数据访问的性能。
第一方面,本发明实施例提供了一种索引创建方法,所述方法包括:
获取应用算法集合;
根据所述应用算法集合得到数据表使用频度和字段使用方式频度;
根据所述数据表使用频度和所述字段使用方式频度创建索引。
第二方面,本发明实施例提供了一种索引创建装置,所述索引创建装置包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现如上述第一方面所述的索引创建方法。
第三方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述第一方面的索引创建方法。
本发明实施例包括:首先获取应用算法集合,然后再根据应用算法集合得到数据表使用频度和字段使用方式频度,最后根据数据表使用频度和字段使用方式频度来创建索引。根据本发明实施例提供的方案,首先获取应用算法集合,应用算法会使用和访问多个数据集合,在每个数据集合中又包括有多个不同的字段,因此能够进一步地得到数据表使用频度和字段使用方式频度,并创建索引。因此,在使用上述的索引创建方法来进行索引的创建时,通过这两个类型的频度,能够得知当前的高频词,最终建立的索引能够适用于当前的数据,提高检索的效率,提升用户对于数据使用的体验,提高数据访问的性能。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
图1是本发明一实施例提供的索引创建方法的流程图;
图2是本发明一实施例提供的频度统计的流程图;
图3是本发明一实施例提供的数据获取的流程图;
图4是本发明一实施例提供的数据筛选的流程图;
图5是本发明一实施例提供的字段获取的流程图;
图6是本发明一实施例提供的获取索引字段的流程图;
图7是本发明一实施例提供的索引创建方法的另一流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,虽然在***架构示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。
本发明提供了一种索引创建方法、装置和计算机可读存储介质,首先获取应用算法集合,应用算法集合能够对多个数据集合进行访问和获取,在每个数据集合中又包括有多个不同的字段,再通过应用算法能够获取到每一个字段对应的使用方式,因此能够进一步地得到数据表使用频度和字段使用方式频度,并创建索引。通过这两个类型的频度,能够得知当前检索过程出现的高频词,最终建立的索引能够适用于当前的数据,提高检索的效率,提升用户对于数据使用的体验,提高数据访问的性能。
下面结合附图,对本发明实施例作进一步阐述。
如图1所示,图1是本发明一实施例提供的索引创建方法的流程图。可以理解的是,本发明提出了一种索引创建方法,该方法包括但不限于有步骤S100,步骤S200以及步骤S300。
步骤S100,获取应用算法集合。
可以理解的是,应用算法集合指的是当前在检索过程中用到或者可能会用到的所有算法的集合。当用户需要使用某一类型的数据库,或者某类型的大数据组件来进行海量数据的清洗和处理时,可以将该数据库或大数据组件中所有算法的集合作为应用算法集合,并将该应用算法集合通过本发明的索引创建方法进行索引的创建。
可以理解的是,在本发明提供的实施例中,使用应用程序中多个SQL(StructuredQuery Language,结构化查询语言)算法的集合作为应用算法集合,以此来举例说明本索引创建方法的具体流程。在对本发明提出的索引创建方法的运用过程中,可以使用SQL算法的集合作为应用算法集合,也可以使用其他类型的算法集合作为应用算法集合,又或者使用其他类型的数据库及大数据组件中的算法集合来作为应用算法集合,本发明不对索引创建方法针对的对象作具体限定。
步骤S200,根据应用算法集合得到数据表使用频度和字段使用方式频度。
可以理解的是,在应用算法集合中会使用多个初始数据表,每一个初始数据表中均包括有多个字段,通过应用算法能够获取到初始数据表中被使用的字段以及字段的使用方式。对应用算法集合中的内容进行统计,能够得到数据表使用频度和字段使用方式频度。频度指的是频度相应的对象在应用算法集合中出现过的次数。通过对应用算法集合解析后的内容进行统计,得到数据表使用频度和字段使用方式频度之后,能够根据当前各个参数的频度来得出当前在实际工程应用的过程中,哪些内容的出现频度较高。
步骤S300,根据数据表使用频度和字段使用方式频度创建索引。
可以理解的是,在得到数据表使用频度和字段使用方式频度之后,会对这两类频度进行统计分析,并根据分析结果来创建索引。在得到这两类频度之后,确定当前哪些数据表、字段和使用方式对应的频度是满足预设条件的,就能够根据这些频度较高的内容进行索引的创建。通过该索引创建方法建立的索引,充分结合了当前在对大数据的处理过程中的检索需求,能够提升用户对于数据使用的体验,提高数据访问的性能。
需要说明的是,本发明提出的数据表使用频度,指的是在应用算法集合里使用的多个数据表中,每一个数据表的使用频度。在每一个数据表中还存在有不同类型的字段,多个字段在应用算法中使用的方式又不尽相同,因此,在数据表中能够对字段以及字段对应的使用方式进行统计,从而得到字段使用频度和字段使用方式频度。再根据各自的使用频度,来确定哪些信息适合用于创建索引,进而实现数据访问性能的提高。
如图2所示,图2是本发明一实施例提供的频度统计的流程图。可以理解的是,在图1所示的实施例中的步骤S200,包括但不限于有步骤S210,步骤S220,步骤S230以及步骤S240。
步骤S210,根据应用算法集合得到多个初始数据表以及与初始数据表对应的数据表使用频度。
可以理解的是,在得到应用算法集合之后,要先根据应用算法集合得到多个初始数据表。在对这些初始数据表进行统计之后,能够得出每一个初始数据表对应的数据表使用频度。
需要说明的是,在本发明中使用SQL算法集合作为应用算法集合时,根据SQL算法集合得到的初始数据表为数据表。由于在对SQL算法进行实际运用的过程中,会将算法中的字段根据预先设定的类别,存储至不同的数据表之中。同时,通过SQL算法对各个数据表的调用关系,来体现出属于不同级别的数据表,表级的概念相当于书籍目录中的一级目录与多级目录之间的区别。具体的,上述提到的数据表使用频度,指的是对在SQL算法运行的过程中,对每一个数据表的访问频次。每个数据表中都存储有多个字段,同时记录有通过SQL算法获取到的每个字段对应的使用方式。在本发明中通过SQL算法集合以及数据表的存储形式,来简单地对索引创建方法进行描述,但SQL算法集合以及数据表的记录方式并不构成对本发明实施方式的限定。
需要说明的是,在数据表中存储有多个字段及对应的使用方式,其中,字段来源于需要进行索引创建的原始数据,在原始数据中包括有多个字段,再通过SQL算法来对原始数据进行处理,才能够得知每一个字段对应的使用方式,最终将多个字段及其对应的使用方式存储至数据表中,以便后续对字段使用方式频度等进行统计,以决定应该使用哪些信息来作为检索字段,从而实现数据访问性能的提高。
需要说明的是,在初始数据表中存储有多个字段及对应的使用方式,其中,字段来源于需要进行索引创建的原始数据,在原始数据中包括有多个字段,再通过SQL算法来对原始数据进行处理,才能够得知每一个字段对应的使用方式,最终将多个字段及其对应的使用方式存储至初始数据表中,以便后续对初始数据表进行筛选而得到候选数据表。
步骤S220,对多个初始数据表进行筛选,得到候选数据表。
可以理解的是,在得到多个初始数据表之后,需要对初始数据表进行筛选,并得到候选数据表。由于在实际根据索引进行检索的过程中,对不同数据的检索需求大小也不尽相同,且检索需求是根据应用算法集合中的算法内容来决定的。因此,需要先根据实际的检索需求对初始数据表进行筛选,得到满足检索要求的初始数据表,即得到候选数据表,从而对候选数据表中的字段以及字段对应的使用方式进行统计,最终进行索引的创建,实现数据访问性能的提高。
需要说明的是,在对初始数据表进行筛选并得到候选数据表的过程中,筛选指的是判断每一个初始数据表是否满足第一预设条件。具体的,第一预设条件为初始数据表对应的数据表使用频度不小于第一预设值。当初始数据表对应的数据表使用频度大于或等于第一预设值时,才能够认为这一初始数据表满足第一预设条件,并将该初始数据表标记为候选数据表;若初始数据表对应的数据表使用频度小于第一预设值,则不会将该初始数据表标记为候选数据表,并接着对其他的初始数据表进行判断,直至将所有的初始数据表判断完成。
需要说明的是,第一预设值可以是根据实际需求预先设置的一个阈值,也可以是预先设定的算法,通过算法计算得到的一个值。在判断初始数据表是否满足第一预设条件的过程中,只需实现根据实际的检索需求来对初始数据表进行分类即可,本发明不对第一预设值的获得方式作具体限定。
步骤S230,对候选数据表进行扫描,得到多个字段、字段对应的使用方式以及字段使用方式频度。
可以理解的是,候选数据表中存储有多个字段以及字段对应的使用方式,在得到候选数据表之后,需要对候选数据表进行扫描,得到这些字段以及对应的使用方式。需要说明的是,上述提到的字段的使用方式,指的是在应用算法集合中针对字段进行的操作,包括但不限于有输出字段、将字段作为过滤条件、将字段用于关联以及将字段作为聚合条件。在实际算法运算的过程中,针对字段可能会出现多种使用方式,但不是所有的使用方式都能够用于判断字段是否适用于作为检索字段,例如,只是简单的输出功能是不足以作为判断条件的。用于判断用途的,包括但不限于有过滤字段、关联字段以及聚合字段,统计数据表中每个字段作为算法中过滤、聚合或关联的总体使用频度,从而进行索引字段的选取,以提高数据访问性能。
需要说明的是,在候选数据表中存储有多个字段及对应的使用方式,其中,字段来源于需要进行索引创建的原始数据,在原始数据中包括有多个字段,再通过SQL算法来对原始数据进行处理,才能够得知每一个字段对应的使用方式,最终将多个字段及其对应的使用方式存储至初始数据表中,并对初始数据表进行筛选而得到候选数据表,以便后续对字段使用方式频度等进行统计,从而确定应使用哪些信息作为检索字段。
可以理解的是,在得到字段以及字段对应的使用方式之后,需要对这些信息进行统计,才能够得到字段使用方式频度。在得到每个字段对应的使用方式的频度之后,再根据频度的大小等方式来决定选用哪些信息来创建索引。
如图3所示,图3是本发明一实施例提供的数据获取的流程图。可以理解的是,在图2所示的实施例中的步骤S230,包括但不限于有步骤S231和步骤S232。
步骤S231,将候选数据表添加至待创建索引数据表集合。
步骤S232,对待创建索引数据表集合中的候选数据表进行扫描,得到字段、字段对应的使用方式以及字段使用方式频度。
可以理解的是,在判断每一个初始数据表是否满足第一预设条件,并将满足第一预设条件的初始数据表标记为候选数据表之后,执行步骤S231,将候选数据表添加至待创建索引数据表集合。在将所有候选数据表添加进待创建索引数据表集合之后,执行步骤S232,对待创建索引数据表集合中的每一个初始数据表(即候选数据表)进行扫描,得到字段以及与每一个字段对应的使用方式。在得到字段、字段对应的使用方式以及字段使用方式频度之后,才能够对这些信息进行统计,从而进行索引的创建。
需要说明的是,在本发明提出的索引创建方法中,对候选数据表的扫描并不局限于“先将候选数据表加入待创建索引数据表集合后,再统一对待创建索引数据表集合中的初始数据表进行扫描”,还可以在每确定一个初始数据表满足第一预设条件之后,在将该初始数据表标记为候选数据表,并加入待创建索引数据表集合后,立即对该候选数据表进行扫描,在扫描完该候选数据表并得到其中的字段以及与字段对应的使用方式之后,再对剩余的初始数据表进行逐一确认,陆续判断剩余的初始数据表是否满足第一预设条件,并对满足第一预设条件的初始数据表进行相应处理。在上述方法中,只需实现对初始数据表的判断,然后将满足条件的初始数据表添加至待创建索引数据表集合并进行扫描,从而得到相应的字段以及对应的使用方式即可。两种技术方案均能够实现对候选数据表的扫描,本发明不对这一步骤的执行顺序作具体限定。
如图4所示,图4是本发明一实施例提供的数据筛选的流程图。可以理解的是,图1所示的实施例中的步骤S300,包括但不限于有步骤S310和步骤S320。
步骤S310,对数据表使用频度和字段使用方式频度进行筛选,得到索引字段。
步骤S320,根据索引字段来创建索引。
可以理解的是,在现有技术中的索引创建方法,通常是由业务开发人员根据过往的经验来判断应该使用哪些字段作为索引字段来创建索引。而业务开发人员的经验并不是确保准确的,因此,当数据访问的频度较低时,对这份应用数据进行索引的创建后,该应用数据的读写检索性能可能与未创建索引时的性能差别不大。若选择的索引字段不是访问这一应用数据所需的关键词,即没有选取到合适的索引字段来创建索引,这样不仅对数据进行检索访问时没有明显的效益,甚至还增加了创建索引这一资源开销。
因此,在本发明提出的索引创建方法中,在得到数据表使用频度和字段使用方式频度之后,需要执行步骤S310,对数据表使用频度和字段使用方式频度进行筛选,得到索引字段,然后再执行步骤S320,根据索引字段来进行索引的创建。由于选取的索引字段是在应用算法集合中出现频度较高的数据表、字段以及与字段对应的使用方式,即,这部分频度较高的信息是在对数据进行访问检索的过程中出现的次数较多,因此,在得知哪些字段及其对应的使用方式出现的频度较高之后,使用这些信息来作为索引字段,能够根据实际的应用需求来进行索引的创建,从而提高数据访问的性能,同时也降低了用户开发的成本和门槛。
如图5所示,图5是本发明一实施例提供的字段获取的流程图。可以理解的是,图4所示的实施例中的步骤S310,包括但不限于有步骤S311和步骤S312。
步骤S311,将满足第二预设条件的字段添加至待创建索引字段集合,第二预设条件为字段对应的字段使用方式频度不小于第二预设值。
步骤S312,根据待创建索引数据表集合和待创建索引字段集合得到索引字段。
可以理解的是,在得到数据表使用频度、字段使用频度以及字段使用方式频度之后,需要先执行步骤S311,判断每一个候选数据表中的每一个字段是否满足第二预设条件,并将满足第二预设条件的字段添加至待创建索引字段集合之后,再执行步骤S312,根据待创建索引数据表集合和待创建索引字段集合,得到索引字段,从而进行索引的创建。具体的,第二预设条件为字段对应的字段使用方式频度不小于第二预设值。当字段使用频度大于或等于第二预设值时,才能够认为这一字段满足第二预设条件,说明这个字段在进行大数据检索访问的过程中是经常会用到的一个字段,因此需要将该字段添加至待创建索引字段集合中;若该字段对应的字段使用频度小于第二预设值,则说明这一字段在进行大数据检索访问的过程中出现的次数较少,因此没有必要将该字段添加至待创建索引字段集合,需要接着对其他字段进行判断,直至将所有满足第二预设条件的字段添加至待创建索引字段集合中。
需要说明的是,第二预设值可以是根据实际需求预先设置的一个阈值,也可以是预先设定的算法,通过算法计算得到的一个值。在判断字段是否满足第二预设条件的过程中,只需实现根据实际的检索需求来对字段进行分类即可,本发明不对第二预设值的获得方式作具体限定。
如图6所示,图6是本发明一实施例提供的获取索引字段的流程图。可以理解的是,图5所示的实施例中的步骤S312,包括但不限于有步骤S3121,步骤S3122以及步骤S3123。
步骤S3121,根据待创建索引数据表集合和待创建索引字段集合,得到第一映射关系,第一映射关系为每个候选数据表与字段的映射关系。
步骤S3122,根据待创建索引字段集合与字段使用方式频度,得到第二映射关系,第二映射关系为每个字段与字段对应的使用方式的映射关系。
步骤S3123,根据第一映射关系与第二映射关系,得到索引字段。
可以理解的是,在待创建索引数据表集合中存在多个数据表,每一个数据表又对应着一个字段集合,将每一个满足第一预设条件的数据表中满足第二预设条件的字段加入与数据表对应的字段集合中,最终所有的字段共同构成待创建索引字段集合。
可以理解的是,在根据待创建索引数据表集合、待创建索引字段集合以及字段使用方式频度得到索引字段这一过程中,需要先执行步骤S3121,获取待创建索引数据表集合与待创建索引字段集合之间的第一映射关系,即,获取每一个数据表与对应的字段的映射关系;然后再执行步骤S3122,获取待创建索引字段集合与字段使用方式频度之间的第二映射关系,即,获取字段与字段对应的使用方式之间的映射关系。最后再执行步骤S3123,根据第一映射关系与第二映射关系来得到索引字段,并进行索引的创建。
需要说明的是,在将每一个候选数据表中满足第二预设条件的字段都添加至待创建索引字段集合,也就是将应用算法集合中所有合适的字段都找到后,根据待创建索引数据表集合、待创建索引字段集合以及字段使用方式频度得到索引字段。对于数据访问来说,不管是表级的数据表使用频度,字段使用频度还是字段使用方式频度,都会根据不同的实际情况对数据访问的效率造成不同程度上的影响。因此,在根据索引字段创建索引的过程中,可以根据实际需求对数据表和与字段对应的使用方式等数据分配不同的权重,并选择最合适的一种方案来创建索引,从而使得索引的数据访问性能得到最大的提升。
需要说明的是,除了单只使用数据表以及字段使用方式这两种类型的数据来作为选择索引字段的标准以外,还可以根据实际需求对数据表、字段以及与字段对应的使用方式等数据进行不同的组合方式或分配不同的权重,从而决定检索字段。
需要说明的是,当业务应用算法发生改变,例如算法出现新增、删除或者更新时,这样的改变会对数据表、字段以及与字段对应的使用方式都发生改变,进而各自对应的频度也会发生变化。因此,在业务应用算法发生改变之后,本发明提出的索引创建方法还主动获取更新后的应用算法集合,并通过上述的索引创建方法进行数据的更新,从而进行索引的创建,始终在最大程度上保证索引带来的数据检索访问的性能的提升。
需要说明的是,在业务应用算法发生改变之后,可以由业务人员主动将更新之后的应用算法集合输入至本发明提出的索引创建方法之中,也可以由处理器对业务应用算法进行周期性的检测,在检测到业务应用算法发生变化之后,主动获取新数据并对应用算法集合进行更新,从而进行索引的创建,以使得索引能够适配业务算法的变更,以提高索引的信价比以及数据访问性能。本发明不对应用算法集合的更新方式作具体限定。
如图7所示,图7是本发明一实施例提供的索引创建方法的另一流程图。可以理解的是,本发明另一些实施例提出的索引创建方法还包括但不限于有步骤S400,步骤S410,步骤S420,步骤S430,步骤S440,步骤S450,步骤S460,步骤S470,步骤S48以及步骤S490。
步骤S400,获取应用算法集合。
步骤S410,扫描表级使用频度。
步骤S420,判断所有数据表内的数据是否扫描完毕。
步骤S430,判断该数据表的使用频度是否不小于第一预设门限值。
步骤S440,将该数据表加入待创建索引表集合。
步骤S450,对该数据表内的字段逐一进行扫描,得到字段使用频度以及字段对应的使用方式频度。
步骤S460,判断该数据表内的字段是否扫描完毕。
步骤S470,逐一判断该数据表内的字段使用方式频度是否不小于第二预设门限值。
步骤S480,将该字段加入数据表对应的待创建索引字段集合。
步骤S490,根据数据表对应的索引字段以及使用方式来创建索引。
可以理解的是,在索引创建方法中,首先执行步骤S400,获取应用算法集合,对应用算法集合内的算法语句进行解析,识别算法中使用的数据表和字段的信息;接着执行步骤S410,对在步骤S400中识别出来的数据表以及字段进行统计分析,得到在不同层次的数据表以及与数据表对应的数据表使用频度。然后执行步骤S420,判断当前是否已经将所有数据表内的所有的字段信息都已经扫描完毕,如果是的话,则进入步骤S490,进行索引的创建;若仍未扫描完所有数据表内的数据,则进入步骤S430,对每一个数据表进行判断,具体为判断数据表的使用频度使用不小于第一预设门限值,如果确定了不小于第一预设门限值,则执行步骤S440,将该数据表添加至待创建索引表集合;若数据表的使用频度小于第一预设门限值,则跳过这一数据表,继续对其他未判断的数据表进行判断。在将适合的数据表加入待创建索引表集合之后,执行步骤S450,对待创建索引表集合中每一个数据表内的字段进行逐一扫描,得到字段对应的使用方式频度。然后执行步骤S460,判断当前数据表内的字段是否已经扫描完毕,如果未扫描完毕,则执行步骤S470,对该数据表内的字段进行判断,具体为判断每一个字段的使用方式频度是否不小于第二预设门限值,直至筛选出所有使用方式频度不小于第二预设门限值的字段,并执行步骤S480,将这些字段加入数据表对应的待创建索引字段集合中;若当前数据表中的字段已经扫描完毕,且筛选出所有满足条件的字段之后,回到步骤S420,判断是否每一个数据表中的字段信息都已经扫描完毕,如果均已扫描完毕,则根据数据表对应的索引字段以及使用方式等信息来创建索引。通过获取数据表、字段以及与字段对应的使用方式,根据数据表使用频度以及字段使用方式频度等信息,能够得知当前的高频词,最终建立的索引能够根据当前输入的应用算法集合自适应地创建高效的索引,提高检索的效率,提升用户对于数据使用的体验,提高数据访问的性能,避免因为索引配置不当而引起的数据访问性能下降。
另外,本发明的另一个实施例还提供了一种索引创建装置,该索引创建装置包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。
处理器和存储器可以通过数据总线或者其他方式连接。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述实施例的索引创建方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的索引创建方法,例如,执行以上描述的图1中的方法步骤S100至S300、图2中的方法步骤S210至S230、图3中的方法步骤S231至S232、图4中的方法步骤S310至S320、图5中的方法步骤S311至S312、图6中的方法步骤S3121至S3123以及图7中的方法步骤S400至S490。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
此外,本发明的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述索引创建装置实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的索引创建方法,例如,执行以上描述的图1中的方法步骤S100至S300、图2中的方法步骤S210至S230、图3中的方法步骤S231至S232、图4中的方法步骤S310至S320、图5中的方法步骤S311至S312、图6中的方法步骤S3121至S3123以及图7中的方法步骤S400至S490。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

Claims (10)

1.一种索引创建方法,其特征在于,包括:
获取应用算法集合;
根据所述应用算法集合得到数据表使用频度和字段使用方式频度;
根据所述数据表使用频度和所述字段使用方式频度创建索引。
2.根据权利要求1所述的索引创建方法,其特征在于,所述根据所述应用算法集合得到数据表使用频度和字段使用方式频度,包括:
根据所述应用算法集合得到多个初始数据表以及与所述初始数据表对应的所述数据表使用频度;
对多个所述初始数据表进行筛选,得到候选数据表;
对所述候选数据表进行扫描,得到多个字段、所述字段对应的使用方式以及所述字段使用方式频度。
3.根据权利要求2所述的索引创建方法,其特征在于,所述对多个所述初始数据表进行筛选,得到候选数据表,包括:
将满足第一预设条件的所述初始数据表标记为所述候选数据表,所述第一预设条件为所述初始数据表对应的所述数据表使用频度不小于第一预设值。
4.根据权利要求2所述的索引创建方法,其特征在于,所述对所述候选数据表进行扫描,得到多个字段、所述字段对应的使用方式以及所述字段使用方式频度,包括:
将所述候选数据表添加至待创建索引数据表集合;
对所述待创建索引数据表集合中的所述候选数据表进行扫描,得到所述字段、所述字段对应的所述使用方式以及所述字段使用方式频度。
5.根据权利要求2所述的索引创建方法,其特征在于,所述根据所述数据表使用频度和所述字段使用方式频度创建索引,包括:
对所述数据表使用频度和所述字段使用方式频度进行筛选,得到索引字段;
根据所述索引字段来创建索引。
6.根据权利要求5所述的索引创建方法,其特征在于,所述对所述数据表使用频度和所述字段使用方式频度进行筛选,得到索引字段,包括:
将满足第二预设条件的所述字段添加至待创建索引字段集合,所述第二预设条件为所述字段对应的所述字段使用方式频度不小于第二预设值;
根据所述待创建索引数据表集合和所述待创建索引字段集合得到所述索引字段。
7.根据权利要求6所述的索引创建方法,其特征在于,所述根据所述待创建索引数据表集合和所述待创建索引字段集合得到所述索引字段,包括:
根据所述待创建索引数据表集合和所述待创建索引字段集合,得到第一映射关系,所述第一映射关系为每个所述候选数据表与所述字段的映射关系;
根据所述待创建索引字段集合与所述字段使用方式频度,得到第二映射关系,所述第二映射关系为每个所述字段与所述字段对应的使用方式的映射关系;
根据所述第一映射关系与所述第二映射关系,得到所述索引字段。
8.根据权利要求1所述的索引创建方法,其特征在于,所述获取应用算法集合,包括:
当确定所述应用算法集合的内容发生改变,获取更新后的所述应用算法集合。
9.一种索引创建装置,其特征在于,所述索引创建装置包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现如权利要求1至8任一项所述的索引创建方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序用于使计算机执行如权利要求1至8任意一项所述的索引创建方法。
CN202111294583.XA 2021-11-03 2021-11-03 索引创建方法、装置和计算机可读存储介质 Pending CN116069777A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111294583.XA CN116069777A (zh) 2021-11-03 2021-11-03 索引创建方法、装置和计算机可读存储介质
PCT/CN2022/127445 WO2023078130A1 (zh) 2021-11-03 2022-10-25 索引创建方法、装置和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111294583.XA CN116069777A (zh) 2021-11-03 2021-11-03 索引创建方法、装置和计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN116069777A true CN116069777A (zh) 2023-05-05

Family

ID=86175693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111294583.XA Pending CN116069777A (zh) 2021-11-03 2021-11-03 索引创建方法、装置和计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN116069777A (zh)
WO (1) WO2023078130A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7672935B2 (en) * 2006-11-29 2010-03-02 Red Hat, Inc. Automatic index creation based on unindexed search evaluation
CN105320679B (zh) * 2014-07-11 2019-05-24 ***通信集团重庆有限公司 一种数据表索引集合生成方法及装置
CN105630803B (zh) * 2014-10-30 2019-07-05 国际商业机器公司 文档型数据库建立索引的方法和装置
CN107239451A (zh) * 2016-03-28 2017-10-10 北京京东尚科信息技术有限公司 数据库索引创建方法和装置
CN113590632B (zh) * 2021-08-11 2023-12-19 北京云拓科技有限公司 数据库索引创建方法、装置、设备及介质

Also Published As

Publication number Publication date
WO2023078130A1 (zh) 2023-05-11

Similar Documents

Publication Publication Date Title
US10102253B2 (en) Minimizing index maintenance costs for database storage regions using hybrid zone maps and indices
CN102479223B (zh) 数据查询方法及***
US9390176B2 (en) System and method for recursively traversing the internet and other sources to identify, gather, curate, adjudicate, and qualify business identity and related data
CN110659282B (zh) 数据路由的构建方法、装置、计算机设备和存储介质
JP2013534334A (ja) 照会結果をソートするための方法および装置
CN109977366B (zh) 一种目录生成方法及装置
CN111782707B (zh) 一种数据查询方法及***
CN110795614A (zh) 一种索引自动优化方法及装置
CN108062314B (zh) 动态分表数据处理方法和装置
CN111324604A (zh) 数据库表的处理方法、装置、电子设备及存储介质
CN109189343B (zh) 一种元数据落盘方法、装置、设备及计算机可读存储介质
CN114428776A (zh) 一种面向时序数据的索引分区管理方法和***
CN116303628B (zh) 基于Elasticsearch的告警数据查询方法、***及设备
CN109299106B (zh) 数据查询方法和装置
CN116069777A (zh) 索引创建方法、装置和计算机可读存储介质
CN113625967B (zh) 数据存储方法、数据查询方法及服务器
CN115794861A (zh) 基于特征摘要的离线数据查询复用方法及其应用
CN114564501A (zh) 一种数据库数据存储、查询方法、装置、设备及介质
CN107025615B (zh) 一种基于学习跟踪模型的学习情况统计方法
CN112506953A (zh) 基于结构化查询语言sql的查询方法、装置及存储介质
CN111274265B (zh) 基于多种检索方式融合检索的方法和装置
CN114238241B (zh) 财务数据的元数据处理方法和计算机***
CN113297198B (zh) 数据库索引优化方法、分布式数据库查询方法及装置
CN113660277B (zh) 一种基于复用埋点信息的反爬虫方法及处理终端
CN115422002A (zh) 高斯数据库监控方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication