首页> 中国专利> 一种SQL Server数据库索引创建的方法、装置、电子设备及存储介质

一种SQL Server数据库索引创建的方法、装置、电子设备及存储介质

摘要

本申请涉及一种SQL Server数据库索引创建的方法、装置、电子设备及存储介质,其涉及SQL Server数据库的技术领域,其中方法包括以下步骤:在预设的索引数据库中,定期获取所有索引表中的变更信息,所述变更信息包括待检测索引以及变更条件字段;基于所述待检测索引,执行预设的查询指令;若待检测索引无法匹配相应的文件,则根据预设的变更模型,对所述变更条件字段进行处理,得到数据更新索引;根据所述数据更新索引,对预设的搜索树进行更新,得到节点更新信息;向用户发送所述节点更新信息。本申请具有提高用户体验感的效果。

著录项

  • 公开/公告号CN114780536A

    专利类型发明专利

  • 公开/公告日2022-07-22

    原文格式PDF

  • 申请/专利权人 北京汇元网科技股份有限公司;

    申请/专利号CN202210241385.5

  • 发明设计人 吕忠峰;高会芳;吴妍冰;

    申请日2022-03-11

  • 分类号G06F16/22;G06F16/23;G06F16/28;

  • 代理机构

  • 代理人

  • 地址 100089 北京市海淀区海淀北二街8号13层1609室

  • 入库时间 2023-06-19 16:04:54

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-22

    公开

    发明专利申请公布

说明书

技术领域

本申请涉及SQL Server数据库的技术领域,尤其是涉及一种SQL Server数据库索引创建的方法、装置、电子设备及存储介质。

背景技术

随着电子信息的发展,存储资料的方式逐渐转变成电子数据存储。在数据量较大的数据库中查询特定的数据通常会采用索引的方式。

相关技术中,SQL服务器通常预先设定有索引数据库,每一个索引数据库中配置有索引表,每一个索引表的索引对应有相应的文件,所有的索引关联生成搜索树。用户通过计算机在SQL软件中输入关键词,SQL服务器在搜索树中选取与关键词匹配的索引,SQL服务器根据索引对应的文件地址,查询对应的文件,并向用户发送该文件,以实现用户快速获取需要的文件。

在实现本申请过程中,发明人发现该技术中至少存在如下问题:

当技术人员对索引数据库中的索引进行更新时,索引更新后会产生碎片,使得用户输入关键词无法匹配相应的文件,导致用户体验感较差。

发明内容

为了改善碎片索引会导致用户无法查询到匹配的文件的问题,本申请提供一种SQL Server数据库索引创建的方法、装置、电子设备及存储介质。

第一方面,本申请提供一种SQL Server数据库索引创建的方法,采用如下的技术方案:

一种SQL Server数据库索引创建的方法,包括以下步骤:

在预设的索引数据库中,定期获取所有索引表中的变更信息,所述变更信息包括待检测索引以及变更条件字段;

基于所述待检测索引,执行预设的查询指令;

若待检测索引无法匹配相应的文件,则根据预设的变更模型,对所述变更条件字段进行处理,得到数据更新索引;

根据所述数据更新索引,对预设的搜索树进行更新,得到节点更新信息;

向用户定期发送所述节点更新信息。

通过采用上述技术方案,SQL服务器定期获取索引数据库中的变更信息,并对变更信息对应的待检测索引执行查询指令。当待检测索引无法匹配相应的文件时,对待检测索引中的变更条件字段进行处理,得到数据更新索引,并对相应的搜索树进行更新,得到并向用户发送节点更新信息。SQL服务器可以对更新过的索引(即待检测索引)进行检测,对无法链接到相应文件的索引进行处理,并对索引所在的搜索树进行更新,可以有效减少搜索树中存在有无法链接的索引,即降低用户输入关键字无法匹配文件的可能性,有效提高了SQL服务器索引的准确性,同时,提高了用户的使用体验。

可选的,所述根据预设的变更模型,对所述变更条件字段进行处理,得到数据更新索引,包括以下步骤:

获取变更条件字段的字节量以及碎片量;

根据所述字节量以及碎片量,得到索引碎片率;

当所述索引碎片率与预设的重组区间匹配时,对所述变更条件字段进行重组,得到数据更新索引;

当所述索引碎片率与预设的重建区间匹配时,对所述变更条件字段进行重建,得到数据更新索引。

通过采用上述技术方案,SQL服务器根据待检测索引的碎片率,判断是否需要对待检测索引进行重组或者重建。由于重建需要额外的存储空间并且消耗较长的时间,SQL服务器依据不同的重组区间以及重建区间,对碎片率较低的碎片进行重组,有效提高SQL服务器整理索引的效率。

可选的,所述对变更条件字段进行重组,得到数据更新索引,包括以下步骤:

获取变更条件字段中的锁节点;

对变更条件字段中的锁节点进行删除,得到更新条件字段;

根据所述更新条件字段,对待检测索引进行更新,得到数据更新索引。

通过采用上述技术方案,重组文件中会存在有锁节点,锁节点可以是对SQL服务器在索引时造成阻塞的节点。SQL服务器对变更条件字段中的锁节点进行删除得到更新条件字段,即可得到重组后的数据更新索引,以便于SQL服务器根据数据更新索引查询到对应的文件。

可选的,所述对变更条件字段进行重建,得到数据更新索引,包括以下步骤:

根据待检测索引的变更条件字段,在预设的影子索引存储空间中,创建影子索引;

根据所述影子索引以及对应的影子索引入口地址,对待检测索引进行更新,得到数据更新索引。

通过采用上述技术方案,针对碎片率较高的索引,服务器预先设定有一个空闲的存储空间(即影子索引存储空间),针对需要重建的索引,在该空闲的存储空间创建一个新的索引(即影子索引),并将待检测索引与影子索引进行替换,即得到数据更新索引。即可得到重建后的数据更新索引,以便于SQL服务器根据数据更新索引查询到对应的文件。

可选的,所述根据数据更新索引,对预设的搜索树进行更新,得到节点更新信息,包括以下步骤:

获取所述数据更新索引在预设的搜索树中的节点权重;

根据预设的权重对照表,确定对应于数据更新索引的节点类型;

基于预设的对应于数据更新索引的链路以及所述节点类型,对预设的搜索树进行更新,得到节点更新信息。

通过采用上述技术方案,SQL服务器获取数据更新索引在搜索树中的节点权重,并按照权重对照表,确定数据更新索引的节点类型。由于不同的节点类型的索引关联的其他索引不一致,因此需要针对各不同的索引判断关联的索引是否需要添加至节点更新信息中。当待检测索引需要重建或者重组时,SQL服务器可以对该待检测索引所关联的其他索引信息添加到节点更新信息中,以便于技术人员可以对其他索引信息进行维护以及整理。

可选的,在所述基于预设的对应于数据更新索引的链路以及节点类型,对预设的搜索树进行更新,得到节点更新信息之后,还包括以下步骤:

当数据更新索引的节点类型为根节点时,在预设的搜索树中选取对应于数据更新索引的目标根节点;

根据所述目标根节点的链路,得到各目标叶节点;

获取各所述目标叶节点的使用频率;

根据预设的活跃度顺序以及各目标叶节点的使用频率,生成叶节点活跃表;

将所述叶节点活跃表添加到节点更新信息中。

通过采用上述技术方案,当数据更新索引的节点类型为根节点时,根节点会关联相应的叶节点,SQL服务器根据获取到的各叶节点的使用频率,得到在根节点中活跃度较高的叶节点,即生成叶节点活跃表。SQL服务器将叶节点活跃表添加到节点更新信息中,以便于技术人员可以优先对较为活跃的叶节点进行处理。

可选的,所述若待检测索引无法匹配相应的文件,则根据预设的变更模型,对变更条件字段进行处理,得到数据更新索引,包括以下步骤:

获取待检测索引的开始时间;

根据预设的当前时间以及开始时间,得到查询时间间隔;

若所述查询时间间隔超过预设的文件匹配阈值,则根据预设的变更模型,对变更条件字段进行处理,得到数据更新索引。

通过采用上述技术方案,SQL服务器将待检测索引匹配相应的文件,在查询过程中,SQL服务器识别到查询时间间隔超过预设的文件匹配阈值,那么该待检测索引,减少SQL服务器查询过长时间导致整理待检测索引效率较低。

第二方面,本申请提供一种SQL Server数据库索引创建的装置,采用如下的技术方案:

一种SQL Server数据库索引创建的装置,包括:

第一获取模块,用于在预设的索引数据库中,定期获取所有索引表中的变更信息,所述变更信息包括待检测索引以及变更条件字段;

执行模块,用于基于所述待检测索引,执行预设的查询指令;

第一得到模块,用于当待检测索引无法匹配相应的文件时,根据预设的变更模型,对所述变更条件字段进行处理,得到数据更新索引;

第二得到模块,用于根据所述数据更新索引,对预设的搜索树进行更新,得到节点更新信息;

发送模块,用于向用户发送所述节点更新信息。

通过采用上述技术方案,SQL服务器可以对更新过的索引(即待检测索引)进行检测,对无法链接到相应文件的索引进行处理,并对索引所在的搜索树进行更新,可以有效减少搜索树中存在有无法链接的索引,即降低用户输入关键字无法匹配文件的可能性,有效提高了SQL服务器索引的准确性,同时,提高了用户的使用体验。

第三方面,本申请提供一种电子设备,采用如下的技术方案:

可选的,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的一种SQL Server数据库索引创建的方法。

通过采用上述技术方案,一种电子设备可以根据存储器中存储的相关计算机程序,实现上述的一种SQL Server数据库索引创建的方法,进而提高对碎片索引进行更新时不同来源信息之间的协作性,从而提升索引准确性的效果。

第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:

可选的,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面所述的一种SQL Server数据库索引创建的方法。

通过采用上述技术方案,能够存储相应的程序,进而提高对碎片索引进行更新时不同来源信息之间的协作性,从而提升索引准确性的效果。

综上所述,本申请包括以下至少一种有益技术效果:

SQL服务器可以对更新过的索引(即待检测索引)进行检测,对无法链接到相应文件的索引进行处理,并对索引所在的搜索树进行更新,可以有效减少搜索树中存在有无法链接的索引,即降低用户输入关键字无法匹配文件的可能性,有效提高了SQL服务器索引的准确性,同时,提高了用户的使用体验;

SQL服务器根据待检测索引的碎片率,判断是否需要对待检测索引进行重组或者重建。由于重建需要额外的存储空间并且消耗较长的时间,SQL服务器依据不同的重组区间以及重建区间,对碎片率较低的碎片进行重组,有效提高SQL服务器整理索引的效率;

重组文件中会存在有锁节点,锁节点可以是对SQL服务器在索引时造成阻塞的节点。SQL服务器对变更条件字段中的锁节点进行删除得到更新条件字段,即可得到重组后的数据更新索引,以便于SQL服务器根据数据更新索引查询到对应的文件。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例的一种SQL Server数据库索引创建的装置的结构框图。

图2是本申请实施例的一种SQL Server数据库索引创建的方法的流程示意图。

图3是本申请实施例的一种SQL Server数据库索引创建的装置的流程示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

本申请实施例提供了一种SQL Server数据库索引创建的方法,该方法可以应用于一种SQL Server数据库索引创建的装置中。一种SQL Server数据库索引创建的装置的框架结构可如图1所示,其可以包括SQL服务器和多个用户终端,用户终端可以是计算机,也可以是手机。具体来说,该方法的执行主体可以是SQL服务器,并由用户终端辅助实现,SQL服务器根据某一个用户发送某一个索引的变更条件字段,对该索引进行变更,而SQL服务器会对变更的索引进行检测,并将检测出重组或者重建的索引的节点更新信息发送给用户。具体来说,技术人员通过用户终端向SQL服务器发送某一个索引的变更条件字段,SQL服务器在接收到该索引的变更条件字段时对相应的字段进行替换。SQL服务器定期会获取变更的索引并对这些索引进行检测,对检测出重组或者重建的索引的节点更新信息发送给各用户终端,以使技术人员可以通过用户终端获取到索引数据库中的变更情况。

下面将结合具体实施方式,对图2所示的处理流程进行详细的说明,内容可以如下:

步骤201,在预设的索引数据库中,定期获取所有索引表中的变更信息,变更信息包括待检测索引以及变更条件字段。

在实施例中,SQL服务器预先设定有索引数据库,每一个索引数据库按照逻辑顺序存储有索引表,每一个索引表对应有不同的索引。SQL在索引数据库中,定期获取所有所有索引表中的变更信息,变更信息包括某一个变更的索引(即待检测索引)以及变更条件字段。定期可以是一个小时,可以是一天,也可以是一个星期。

步骤202,基于待检测索引,执行预设的查询指令。

在实施例中,SQL服务器预先设定有查询指令,查询指令可以由SQL服务器针对某一个索引进行查询是否对应有相应的文件。SQL服务器将待检测索引输入至查询指令的输入框中,执行预设的查询指令。

步骤203,若待检测索引无法匹配相应的文件,则根据预设的变更模型,对变更条件字段进行处理,得到数据更新索引。

在实施例中,SQL服务器预先设定有变更模型,变更模型用于对待检测索引进行处理,以使待检测索引可以指定相应的文件。若SQL服务器识别到待检测索引无法匹配相应的文件,则根据变更模型,对待检测索引的变更条件字段进行处理,得到处理完成的索引(即数据更新索引)。

可选的,获取变更条件字段的字节量以及碎片量,根据字节量以及碎片量,得到索引碎片率。当索引碎片率与预设的重组区间匹配时,对变更条件字段进行重组,得到数据更新索引。当索引碎片率与预设的重建区间匹配时,对变更条件字段进行重建,得到数据更新索引。

在实施例中,SQL服务器获取待检测索引的所有变更条件字段的字节量以及碎片量,根据待检测索引的字节量以及碎片量,得到索引碎片率。其中,索引碎片率=碎片量/字节量。SQL服务器预先设定有重组区间以及重建区间,重组区间可以是5-30%,重建区间可以是30%以上。当索引碎片率与预设的重组区间匹配时,对变更条件字段进行重组,得到重组完毕的索引(即数据更新索引)。当索引碎片率与预设的重建区间匹配时,对变更条件字段进行重建,得到重建完毕的索引(即数据更新索引)。

可选的,对变更条件字段进行重组,得到数据更新索引,具体步骤如下,获取变更条件字段中的锁节点,对变更条件字段中的锁节点进行删除,得到更新条件字段。根据更新条件字段,对待检测索引进行更新,得到数据更新索引。

在实施例中,当SQL服务器识别到待检测索引的索引碎片率处于重组区间时,SQL服务器获取变更条件字段中的锁节点,锁节点是SQL服务器在索引时造成阻塞的节点,例如:乱码、空格或者间隔字符。SQL服务器对变更条件字段中的锁节点进行删除,得到更新条件字段。SQL服务器根据更新条件字段,将更新条件字段替换待检测索引原有条件字段,即对待检测索引进行更新,得到数据更新索引。

可选的,对变更条件字段进行重建,得到数据更新索引,具体步骤如下,根据待检测索引的变更条件字段,在预设的影子索引存储空间中,创建影子索引。根据影子索引以及对应的影子索引入口地址,对待检测索引进行更新,得到数据更新索引。

在实施例中,当SQL服务器识别到待检测索引的索引碎片率处于重建区间时,SQL服务器预先设定有影子索引存储空间,影子索引存储空间用于重新存入新的索引,以使SQL服务器可以将旧的索引替换成新的索引,SQL服务器可以通过互联网或者用户上传得到新的索引。SQL服务器根据待检测索引的变更条件字段,在影子索引存储空间中,创建新的索引(即影子索引)。SQL服务器根据影子索引以及对应的影子索引入口地址,对待检测索引替换成影子索引,并且对待检测索引的入口地址替换成影子索引入口地址,即对待检测索引进行更新,得到数据更新索引。

可选的,获取待检测索引的开始时间,根据预设的当前时间以及开始时间,得到查询时间间隔。若查询时间间隔超过预设的文件匹配阈值,则根据预设的变更模型,对变更条件字段进行处理,得到数据更新索引。

在实施例中,SQL服务器获取待检测索引在执行查询指令时的开始时间,根据预设的当前时间以及开始时间,得到查询时间间隔。SQL服务器预先设定有文件匹配阈值,文件匹配阈值可以是1ms,可以是5ms,也可以是1s。若SQL服务器识别到查询时间间隔超过文件匹配阈值,则根据预设的变更模型,对变更条件字段进行处理,得到数据更新索引。

步骤204,根据数据更新索引,对预设的搜索树进行更新,得到节点更新信息。

在实施例中,SQL服务器预先设定有搜索树,搜索树可以是关联所有索引表的树型数据链。SQL服务器根据数据更新索引,对预设的搜索树进行更新,得到某一个索引的更新信息(即节点更新信息)。

可选的,获取数据更新索引在预设的搜索树中的节点权重。根据预设的权重对照表,确定对应于数据更新索引的节点类型。基于预设的对应于数据更新索引的链路以及节点类型,对预设的搜索树进行更新,得到节点更新信息。

在实施例中,SQL服务器预先设定有权重对照表,权重可以是搜索树中某一个节点的下行链路所有节点的数量,权重对照表可以是每一个节点对应的下行链路所有节点的数量统计表。SQL服务器获取数据更新索引在预设的搜索树中的节点权重,根据权重对照表,确定对应于数据更新索引的节点类型,节点类型可以分为根节点以及叶节点。SQL服务器基于对应于数据更新索引的链路以及节点类型,对预设的搜索树进行更新,得到节点更新信息。

可选的,当数据更新索引的节点类型为根节点时,在预设的搜索树中选取对应于数据更新索引的目标根节点。根据目标根节点的链路,得到各目标叶节点。获取各目标叶节点的使用频率,根据预设的活跃度顺序以及各目标叶节点的使用频率,生成叶节点活跃表。将叶节点活跃表添加到节点更新信息中。

在实施例中,在SQL服务器得到节点更新信息之后,当数据更新索引的节点类型为根节点时,在预设的搜索树中,选取对应于数据更新索引的根节点(即目标根节点)。SQL服务器根据目标根节点的链路,得到在该链路中的所有叶节点(即目标叶节点)。SQL服务器获取各目标叶节点的使用频率,根据预设的活跃度顺序以及各目标叶节点的使用频率,生成叶节点活跃表。SQL服务器将叶节点活跃表添加到节点更新信息中,以便于技术人员可以优先对较为活跃的叶节点进行整理或者维护。

步骤205,向用户定期发送节点更新信息。

在实施例中,SQL服务器向用户定期发送节点更新信息。定期可以是一小时,可以是一天,也可以是一星期。

基于相同的技术构思,本申请实施例还公开一种SQL Server数据库索引创建的装置,一种SQL Server数据库索引创建的装置包括SQL服务器,如图3所示,SQL服务器包括:

第一获取模块,用于在预设的索引数据库中,定期获取所有索引表中的变更信息,变更信息包括待检测索引以及变更条件字段;

执行模块,用于基于待检测索引,执行预设的查询指令;

第一得到模块,用于当待检测索引无法匹配相应的文件时,根据预设的变更模型,对变更条件字段进行处理,得到数据更新索引;

第二得到模块,用于根据数据更新索引,对预设的搜索树进行更新,得到节点更新信息;

发送模块,用于向用户定期发送节点更新信息。

可选的,第二获取模块,用于获取变更条件字段的字节量以及碎片量;

第三得到模块,用于根据字节量以及碎片量,得到索引碎片率;

第四得到模块,用于当索引碎片率与预设的重组区间匹配时,对变更条件字段进行重组,得到数据更新索引;

第五得到模块,用于当索引碎片率与预设的重建区间匹配时,对变更条件字段进行重建,得到数据更新索引。

可选的,第三获取模块,用于获取变更条件字段中的锁节点;

第六得到模块,用于对变更条件字段中的锁节点进行删除,得到更新条件字段;

第一更新模块,用于根据更新条件字段,对待检测索引进行更新,得到数据更新索引。

可选的,创建模块,用于根据待检测索引的变更条件字段,在预设的影子索引存储空间中,创建影子索引。

可选的,第二更新模块,用于根据影子索引以及对应的影子索引入口地址,对待检测索引进行更新,得到数据更新索引。

可选的,第四获取模块,用于获取数据更新索引在预设的搜索树中的节点权重;

确定模块,用于根据预设的权重对照表,确定对应于数据更新索引的节点类型;

第七得到模块,用于基于预设的对应于数据更新索引的链路以及节点类型,对预设的搜索树进行更新,得到节点更新信息。

可选的,选取模块,用于当数据更新索引的节点类型为根节点时,在预设的搜索树中选取对应于数据更新索引的目标根节点;

第八得到模块,用于根据目标叶节点的链路,得到各目标根节点;

第五获取模块,用于获取各目标叶节点的使用频率;

生成模块,用于根据预设的活跃度顺序以及各目标叶节点的使用频率,生成叶节点活跃表;

添加模块,用于将叶节点活跃表添加到节点更新信息中。

可选的,第六获取模块,用于获取待检测索引的开始时间;

第九得到模块,用于根据预设的当前时间以及开始时间,得到查询时间间隔;

第一得到模块,还用于在查询时间间隔超过预设的文件匹配阈值时,根据预设的变更模型,对变更条件字段进行处理,得到数据更新索引。

本申请实施例还公开一种电子设备,包括存储器和处理器,存储器上存储有能够被处理器加载并执行如上述的一种SQL Server数据库索引创建的方法的计算机程序。

本申请实施例还公开一种计算机可读存储介质,其存储有能够被处理器加载并执行如上述的一种SQL Server数据库索引创建的方法的计算机程序,该计算机可读存储介质例如包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上实施例仅用以说明本申请的技术方案,而非对申请的保护范围进行限制。显然,所描述的实施例仅仅是本申请部分实施例,而不是全部实施例。基于这些实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所要保护的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号