CN116483835A - 数据库统计信息管理方法、管理平台及存储介质 - Google Patents
数据库统计信息管理方法、管理平台及存储介质 Download PDFInfo
- Publication number
- CN116483835A CN116483835A CN202310453117.4A CN202310453117A CN116483835A CN 116483835 A CN116483835 A CN 116483835A CN 202310453117 A CN202310453117 A CN 202310453117A CN 116483835 A CN116483835 A CN 116483835A
- Authority
- CN
- China
- Prior art keywords
- statistical information
- data
- condition
- reaching
- trigger collection
- 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
Links
- 238000007726 management method Methods 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000004590 computer program Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Business, Economics & Management (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Economics (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Fuzzy Systems (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据库统计信息管理方法、管理平台及存储介质。该方法包括:判断所述金融机构的多个数据库中是否存在达到触发收集统计信息条件的表;若确定存在达到触发收集统计信息条件的表,则获取所述达到触发收集统计信息条件的表的数据;基于所述达到触发收集统计信息条件的表的数据,生成所述达到触发收集统计信息条件的表的统计信息,以在后续获取到查询所述达到触发收集统计信息条件的表的SQL查询语句时,为所述SQL查询语句确定匹配的查询规划。本申请的方法,可以及时更新表的统计信息,在此基础上后续为查询语句确定查询规划时可以匹配到最合适的查询规划。
Description
技术领域
本申请涉及数据库技术,尤其涉及一种数据库统计信息管理方法、管理平台及存储介质,可用于金融科技领域或其他相关领域。
背景技术
金融机构的数据库管理系统用于对金融机构的多个数据库进行统一管理,可以实现对各数据库全库、单表等多种维度的信息进行统计和收集。
通常,数据库管理人员定期登录金融机构的数据库管理系统,查看各数据库中的多个表是否需要触发收集统计信息。需要触发收集统计信息时则手工触发统计信息收集脚本执行,以对该表进行统计。
然而,这种方式是人为定期检查并判断是否对表进行统计,对统计信息及时更新的响应速度慢。由于数据库中表的统计信息可以用于数据库中的规划器为查询语句选择最合适的查询规划,在表的统计信息未及时更新的情况下,表的统计信息不准确,在后续为查询语句确定查询规划时,无法准确匹配最合适的查询规划。
发明内容
本申请提供一种数据库统计信息管理方法、管理平台及存储介质,用以解决现有技术中,表的统计信息更新慢,可能会影响数据库的稳定运行的技术问题。
第一方面,本申请提供一种数据库统计信息管理方法,应用于数据库统计信息管理平台,所述数据库统计信息管理平台用于对金融机构的多个数据库进行统一管理;包括:
判断所述金融机构的多个数据库中是否存在达到触发收集统计信息条件的表;
若确定存在达到触发收集统计信息条件的表,则获取所述达到触发收集统计信息条件的表的数据;
基于所述达到触发收集统计信息条件的表的数据,生成所述达到触发收集统计信息条件的表的统计信息,以在后续获取到查询所述达到触发收集统计信息条件的表的SQL查询语句时,为所述SQL查询语句确定匹配的查询规划。
在一个实施例中,所述判断所述金融机构的多个数据库中是否存在达到触发收集统计信息条件的表,包括:
判断所述金融机构的多个数据库中是否存在缺失统计信息的表,或者数据变化幅度达到预设幅度阈值的表;
若确定存在缺失统计信息的表或者数据变化幅度达到预设幅度阈值的表,则确定所述金融机构的多个数据库中存在达到触发收集统计信息条件的表;其中,所述数据变化幅度是指本次查询该表时的数据量,与上次查询该表时的数据量之间的差值绝对值;
或者,
若确定不存在缺失统计信息的表以及数据变化幅度未达到预设幅度阈值的表,则确定所述金融机构的多个数据库中不存在达到触发收集统计信息条件的表。
在一个实施例中,所述基于所述达到触发收集统计信息条件的表的数据,生成所述达到触发收集统计信息条件的表的统计信息,包括:
判断所述达到触发收集统计信息条件的表的数据量是否超过预设数据统计数量;
若确定所述达到触发收集统计信息条件的表的数据量不超过所述预设数据统计数量,则将所述达到触发收集统计信息条件的表作为一个完整的数据统计单元进行统计,获得该表的统计信息;
或者,
若确定所述达到触发收集统计信息条件的表的数据量超过所述预设数据统计数量,则将所述达到触发收集统计信息条件的表按照所述预设数据统计数量划分为多个数据统计部分分别进行统计,获得该表的统计信息。
在一个实施例中,所述基于所述达到触发收集统计信息条件的表的数据,生成所述达到触发收集统计信息条件的表的统计信息,包括:
判断所述达到触发收集统计信息条件的表的数据量是否超过预设数据量阈值;
若确定所述达到触发收集统计信息条件的表的数据量超过预设数据量阈值,则根据预设比例从所述达到触发收集统计信息条件的表中获取多个数据分别作为样本数据;
基于各所述样本数据进行统计,获得所述达到触发收集统计信息条件的表的统计信息。
在一个实施例中,所述为所述SQL查询语句确定匹配的查询规划,包括:
基于所述达到触发收集统计信息条件的表的统计信息,确定所述SQL查询语句的多个查询规划;
将查询费时最短的一个查询规划,作为所述SQL查询语句的匹配的查询规划,使所述SQL查询语句依据所述匹配的查询规划查询所述达到触发收集统计信息条件的表的数据以返回给查询方。
在一个实施例中,所述表的统计信息,至少包括:最近分析时间、直方图、区分度和行数。
第二方面,本申请提供一种数据库统计信息管理平台,所述数据库统计信息管理平台用于对金融机构的多个数据库进行统一管理;所述平台包括:
表条件判断模块,用于判断所述金融机构的多个数据库中是否存在达到触发收集统计信息条件的表;
表数据获取模块,用于若确定存在达到触发收集统计信息条件的表,则获取所述达到触发收集统计信息条件的表的数据;
表信息获取模块,用于基于所述达到触发收集统计信息条件的表的数据,生成所述达到触收集统计信息条件的表的统计信息,以在后续获取到查询所述达到触发收集统计信息条件的表的SQL查询语句时,为所述SQL查询语句确定匹配的查询规划。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如第一方面所述的方法。
本申请提供的数据库统计信息管理方法、管理平台及存储介质,判断所述金融机构的多个数据库中是否存在达到触发收集统计信息条件的表;若确定存在达到触发收集统计信息条件的表,则获取所述达到触发收集统计信息条件的表的数据;基于所述达到触发收集统计信息条件的表的数据,生成所述达到触发收集统计信息条件的表的统计信息,以在后续获取到查询所述达到触发收集统计信息条件的表的SQL查询语句时,为所述SQL查询语句确定匹配的查询规划。由于本申请主动检测判断数据库中是否存在达到触发收集统计信息条件的表,在确定存在达到触发收集统计信息条件的表时,自动进行统计以生成达到触发收集统计信息条件的表的统计信息。整个过程均是自动化方式实现的,无需人工参与,可以及时更新表的统计信息。在此基础上后续为查询语句确定查询规划时可以确定匹配的查询规划。SQL查询语句的查询规划如果不合适则会影响数据库的稳定运行。该SQL查询语句匹配的查询规划是指不会影响数据库稳定运行的查询规划,在获得SQL查询语句匹配的查询规划并按照该匹配的查询规划查询数据时,不会影响数据库的稳定运行。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为实现本申请实施例的数据库统计信息管理方法的一种应用场景图;
图2为本申请一实施例的实现数据库统计信息管理方法的流程示意图;
图3为本申请另一实施例的实现数据库统计信息管理方法的流程示意图;
图4为本申请实现数据库统计信息管理方法的结构示意图;
图5为用来实现数据库统计信息管理方法的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,本公开数据库统计信息管理方法、管理平台及存储介质可用于金融领域。也可用于除金融领域以外的任意领域。本公开、金融系统及存储介质应用领域不作限定。
为了清楚理解本申请的技术方案,首先对现有技术的方案进行详细介绍。
传统方式中,通常,数据库管理人员定期登录金融机构的数据库管理系统,查看各数据库中的多个表是否需要触发收集统计信息。需要触发收集统计信息时则手工触发统计信息收集脚本执行,以对该表进行统计。
然而,这种方式是人为定期检查并判断是否对表进行统计,对统计信息及时更新的响应速度慢。由于数据库中表的统计信息可以用于数据库中的规划器为查询语句选择最合适的查询规划,在表的统计信息未及时更新的情况下,表的统计信息不准确,在后续为查询语句确定查询规划时,无法准确匹配最合适的查询规划。
所以在面对现有技术的技术问题时,发明人通过创造性的研究后发现,为了为查询语句匹配到最合适的查询规划,因此针对需要更新的表及时进行更新,其中,需要更新的表是指达到触发收集统计信息条件的表。数据库统计信息管理平台在监测到存在达到触发收集统计信息条件的表时,即可获取该表的数据以生成统计信息。整个过程均是自动化方式实现的,无需人工参与,即可更新表的统计信息,更新较为及时。在此基础上后续为查询语句确定查询规划时可以匹配到最合适的查询规划,从而不会影响数据库的稳定运行。
如图1所示,本申请实施例提供的数据库统计信息管理方法的应用场景,在该应用场景中对应的网络架构中包括数据库统计信息管理平台10以及分别位于多个数据库统计信息管理平台20中的金融机构的多个数据库,每个数据库统计信息管理平台20上可以设置一个或多个数据库,不做限定,图中仅示出2个服务器,但可以是更多数量。数据库统计信息管理平台10和各数据库统计信息管理平台20之间进行通信。数据库统计信息管理平台10通过获取各数据库的全局表以实时监测各数据库中表的状态,判断金融机构的多个数据库中是否存在达到触发收集统计信息条件的表。若确定存在达到触发收集统计信息条件的表,则获取达到触发收集统计信息条件的表的数据。基于达到触发收集统计信息条件的表的数据,生成达到触发收集统计信息条件的表的统计信息,以在后续获取到查询达到触发收集统计信息条件的表的SQL查询语句时,为SQL查询语句确定匹配的查询规划。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2是本申请一实施例提供的数据库统计信息管理方法,如图2所示,本实施例提供的数据库统计信息管理方法的执行主体是管理平台,数据库统计信息管理平台用于对金融机构的多个数据库进行统一管理。则本实施例提供的数据库统计信息管理方法包括以下步骤:
步骤101,判断所述金融机构的多个数据库中是否存在达到触发收集统计信息条件的表。
其中,金融机构的数据库管理系统可以实时监测多个数据库中各表的状态,判断是否存在达到触发收集统计信息条件的表。
步骤102,若确定存在达到触发收集统计信息条件的表,则获取所述达到触发收集统计信息条件的表的数据。
其中,在确定存在达到触发收集统计信息条件的表的情况下,可以针对达到触发收集统计信息条件的表获取其表中的数据,之后再基于表的数据获得统计信息。
步骤103,基于所述达到触发收集统计信息条件的表的数据,生成所述达到触发收集统计信息条件的表的统计信息,以在后续获取到查询所述达到触发收集统计信息条件的表的SQL查询语句时,为所述SQL查询语句确定匹配的查询规划。
具体地,基于表的数据获得统计信息,可以是按照数学上一般的统计学方法,对表的数据进行统计,即可获得相应的统计信息。表的统计信息至少包括:最近分析时间、直方图、区分度和行数。
SQL查询语句的查询规划,设定了SQL查询语句将按照何种方式查询表的数据,一种查询规划即一种查询表数据的方式。查询规划,例如对表进行全表扫描或者索引扫描等。匹配的查询规划是SQL查询语句对应的多个查询规划中,对数据库稳定运行最有益的一个或者对数据库稳定性影响最小的一个。
需要注意的是后续为SQL查询语句确定查询规划时,并不一定绝对需要基于最新状态的表的统计信息确定,可以理解为未达到触发收集统计信息条件的表的统计信息也是相对准确的,能够准确地为SQL查询语句确定匹配的查询规划。
本申请中,判断所述金融机构的多个数据库中是否存在达到触发收集统计信息条件的表;若确定存在达到触发收集统计信息条件的表,则获取所述达到触发收集统计信息条件的表的数据;基于所述达到触发收集统计信息条件的表的数据,生成所述达到触发收集统计信息条件的表的统计信息,以在后续获取到查询所述达到触发收集统计信息条件的表的SQL查询语句时,为所述SQL查询语句确定匹配的查询规划。由于本申请主动检测判断数据库中是否存在达到触发收集统计信息条件的表,在确定存在达到触发收集统计信息条件的表时,自动进行统计以生成达到触发收集统计信息条件的表的统计信息。整个过程均是自动化方式实现的,无需人工参与,可以及时更新表的统计信息。在此基础上后续为查询语句确定查询规划时可以确定匹配的查询规划。SQL查询语句的查询规划如果不合适则会影响数据库的稳定运行。该SQL查询语句匹配的查询规划是指不会影响数据库稳定运行的查询规划,在获得SQL查询语句匹配的查询规划并按照该匹配的查询规划查询数据时,不会影响数据库的稳定运行。
作为一种可选实施方式,本实施例中,步骤102,包括以下步骤:
步骤201,判断所述金融机构的多个数据库中是否存在缺失统计信息的表,或者数据变化幅度达到预设幅度阈值的表。
其中,在金融机构的多个数据库中,每个数据库可能包括一个或者多个表。在数据库统计信息管理平台中,可以从每个数据库中的全局表中获取多张表的统计信息,全局表主要用于记录数据库中各表的基本情况,例如统计信息、数据量。一个表要达到触发收集统计信息条件主要包括以下两种情况,一是全局表中记录该表缺失统计信息,二是全局表中记录该表的数据变化幅度达到预设幅度阈值,一个表满足只要满足这两种情况中的任一种即可确定达到触发收集统计信息条件。
数据变化幅度是指表中的数据在短期内激增或减的幅度,一般等于本次查询该表时的数据量,与上次查询该表时的数据量之间的差值绝对值。例如,本次查询某数据库的全局表中A表的数据量为1000行,上次查询A表的数据量为20行,增加了980行,该980行即A表的数据变化幅度。空表和已有数据的表的预设幅度阈值可以设置不同,例如,当空表中插入数据的行数大于50行时,可以认为数据变化幅度达到预设幅度阈值。
表中缺失统计信息,可能的原因是表中没有数据,所以没有统计信息。还有可能是由于外部业务对该表进行了增/删操作等,使得表中数据发生更新,但数据库内部未及时对统计信息更新,所以在全局表中仍显示该表缺失统计信息。
若确定存在缺失统计信息的表或者数据变化幅度达到预设幅度阈值的表,则执行步骤202,确定所述金融机构的多个数据库中存在达到触发收集统计信息条件的表。
其中,若任一数据库中存在缺失统计信息的表,则获取缺失统计信息的表的数据,并生成缺失统计信息的表的统计信息。若任一数据库中存在数据变化幅度达到预设幅度阈值的表,则获取数据变化幅度达到预设幅度阈值的表的数据,并生成数据变化幅度达到预设幅度阈值的表的统计信息。
若确定不存在缺失统计信息的表以及数据变化幅度未达到预设幅度阈值的表,则执行步骤203,确定所述金融机构的多个数据库中不存在达到触发收集统计信息条件的表。
其中,若任一数据库中既不存在缺失统计信息的表,也不存在数据变化幅度达到预设幅度阈值的表,可以确定金融机构的多个数据库中不存在达到触发收集统计信息条件的表,不做处理。
本实施例中,判断所述金融机构的多个数据库中是否存在缺失统计信息的表,或者数据变化幅度达到预设幅度阈值的表;若确定存在缺失统计信息的表或者数据变化幅度达到预设幅度阈值的表,则确定所述金融机构的多个数据库中存在达到触发收集统计信息条件的表;其中,所述数据变化幅度是指本次查询该表时的数据量,与上次查询该表时的数据量之间的差值绝对值;或者,若确定不存在缺失统计信息的表以及数据变化幅度未达到预设幅度阈值的表,则确定所述金融机构的多个数据库中不存在达到触发收集统计信息条件的表。由于缺失统计信息和数据变化幅度达到预设幅度阈值的表,在数据更新前后,表的统计信息差异较大,且数据更新滞后。因此判断金融机构的多个数据库中是否存在达到触发收集统计信息条件的表时,以缺失统计信息和数据变化幅度达到预设幅度阈值作为判断条件,在满足任一条件时对表进行数据更新,从而可以获得准确的统计信息。
作为一种可选实施方式,本实施例中,步骤103,包括以下步骤:
步骤301,判断所述达到触发收集统计信息条件的表的数据量是否超过预设数据统计数量。
其中,数据量可以通过表的行数体现,假设预设统计数量为最多3000行,达到触发收集统计信息条件的表的行数为1000行,则未超过,若表的行数为4000行,则超过。预设统计数量可以根据需求设置。
若确定所述达到触发收集统计信息条件的表的数据量不超过所述预设数据统计数量,则执行步骤302,将所述达到触发收集统计信息条件的表作为一个完整的数据统计单元进行统计,获得该表的统计信息。
即,在达到触发收集统计信息条件的表的数据量没有超出预设数据统计数量的情况下,可以将该表作为完整的数据统计单元进行统计,获得该表的统计信息。例如,达到触发收集统计信息条件的表的行数为1000行,直接对1000行的数据进行统计即可。
若确定所述达到触发收集统计信息条件的表的数据量超过所述预设数据统计数量,则执行步骤303,将所述达到触发收集统计信息条件的表按照所述预设数据统计数量划分为多个数据统计部分分别进行统计,获得该表的统计信息。
其中,在达到触发收集统计信息条件的表的数据量超出预设数据统计数量的情况下,可以将该表按照所述预设数据统计数量划分为多个数据统计部分分别进行统计,获得该表的统计信息。例如,达到触发收集统计信息条件的表的行数为4000行,将该表分为3000行和1000行两个数据统计部分分别进行统计。
本实施例中,判断所述达到触发收集统计信息条件的表的数据量是否超过预设数据统计数量;若确定所述达到触发收集统计信息条件的表的数据量不超过所述预设数据统计数量,则将所述达到触发收集统计信息条件的表作为一个完整的数据统计单元进行统计,获得该表的统计信息;或者,若确定所述达到触发收集统计信息条件的表的数据量超过所述预设数据统计数量,则将所述达到触发收集统计信息条件的表按照所述预设数据统计数量划分为多个数据统计部分分别进行统计,获得该表的统计信息。在达到触发收集统计信息条件的表的数据量超过预设数据统计数量时,按照预设数据统计数量划分为多个数据统计部分分别进行统计,有利于提高计算机进行信息统计时的处理速度。
作为一种可选实施方式,本实施例中,步骤103,包括以下步骤:
步骤401,判断所述达到触发收集统计信息条件的表的数据量是否超过预设数据量阈值。
其中,预设数据量阈值也可以通过表的行数体现,例如预设数据量阈值为200万行。达到触发收集统计信息条件的表的行数为100万行,则未超过,若表的行数为400万行,则超过。预设数据量阈值可以根据需求设置。
步骤402,若确定所述达到触发收集统计信息条件的表的数据量超过预设数据量阈值,则根据预设比例从所述达到触发收集统计信息条件的表中获取多个数据分别作为样本数据。
其中,在达到触发收集统计信息条件的表的数据量超过预设数据量阈值的情况下,由于达到触发收集统计信息条件的表的数据量较大,因此可以根据预设比例从达到触发收集统计信息条件的表中选取一定比例的数据作为样本数据。例如,达到触发收集统计信息条件的表的数据量为220万行时,可以选取2%的数据作为样本数据。
步骤403,基于各所述样本数据进行统计,获得所述达到触发收集统计信息条件的表的统计信息。
本实施例中,判断所述达到触发收集统计信息条件的表的数据量是否超过预设数据量阈值;若确定所述达到触发收集统计信息条件的表的数据量超过预设数据量阈值,则根据预设比例从所述达到触发收集统计信息条件的表中获取多个数据分别作为样本数据;基于各所述样本数据进行统计,获得所述达到触发收集统计信息条件的表的统计信息。在达到触发收集统计信息条件的表的数据量超过预设数据量阈值时,从该表中取预设比例的数据进行统计,从而可以减少计算机的计算量,提高获取统计信息的效率。
作为一种可选实施方式,如图3所示,本实施例中,步骤103中为所述SQL查询语句确定匹配的查询规划,具体包括以下步骤:
步骤501,基于所述达到触发收集统计信息条件的表的统计信息,确定所述SQL查询语句的多个查询规划。
其中,在数据库统计信息管理平台中存储了表的统计信息与多个查询规划的映射关系,该映射关系原先是人工梳理获得并存储于该平台中的。数据库统计信息管理平台在获得达到触发收集统计信息条件的表的统计信息时,即可查找到对应的多个查询规划。
步骤502,将查询费时最短的一个查询规划,作为所述SQL查询语句的匹配的查询规划,使所述SQL查询语句依据所述匹配的查询规划查询所述达到触发收集统计信息条件的表的数据以返回给查询方。
其中,计算各查询规划所需的查询时间,由于AQL查询语句查表时间越短则越有利于数据库稳定运行,因此将查询费时最短的一个查询规划,作为SQL查询语句的匹配的查询规划,从而使SQL查询语句可以依据该匹配的查询规划查询达到触发收集统计信息条件的表的数据以返回给查询方。
本实施例中,基于所述达到触发收集统计信息条件的表的统计信息,确定所述SQL查询语句的多个查询规划;将查询费时最短的一个查询规划,作为所述SQL查询语句的匹配的查询规划,使所述SQL查询语句依据所述匹配的查询规划查询所述达到触发收集统计信息条件的表的数据以返回给查询方。由于将SQL查询语句中查询费时最短的一个查询规划,作为SQL查询语句的匹配的查询规划,使SQL查询语句依据匹配的查询规划查询达到触发收集统计信息条件的表的数据以返回给查询方,有利于维护数据库的稳定运行。
图4是本申请一实施例提供的数据库统计信息管理平台的结构示意图,如图4所示,本实施例提供的数据库统计信息管理平台40位于管理平台中,则本实施例提供的数据库统计信息管理平台40,包括:
表条件判断模块41,用于判断所述金融机构的多个数据库中是否存在达到触发收集统计信息条件的表;
表数据获取模块42,用于若确定存在达到触发收集统计信息条件的表,则获取所述达到触发收集统计信息条件的表的数据;
表信息获取模块43,用于基于所述达到触发收集统计信息条件的表的数据,生成所述达到触收集统计信息条件的表的统计信息,以在后续获取到查询所述达到触发收集统计信息条件的表的SQL查询语句时,为所述SQL查询语句确定匹配的查询规划。
可选地,表条件判断模块41,在判断所述金融机构的多个数据库中是否存在达到触发收集统计信息条件的表时,具体用于:
判断所述金融机构的多个数据库中是否存在缺失统计信息的表,或者数据变化幅度达到预设幅度阈值的表;
若确定存在缺失统计信息的表或者数据变化幅度达到预设幅度阈值的表,则确定所述金融机构的多个数据库中存在达到触发收集统计信息条件的表;其中,所述数据变化幅度是指本次查询该表时的数据量,与上次查询该表时的数据量之间的差值绝对值;
或者,
若确定不存在缺失统计信息的表以及数据变化幅度未达到预设幅度阈值的表,则确定所述金融机构的多个数据库中不存在达到触发收集统计信息条件的表。
可选地,表数据获取模块42,在基于所述达到触发收集统计信息条件的表的数据,生成所述达到触发收集统计信息条件的表的统计信息时,具体用于:
判断所述达到触发收集统计信息条件的表的数据量是否超过预设数据统计数量;
若确定所述达到触发收集统计信息条件的表的数据量不超过所述预设数据统计数量,则将所述达到触发收集统计信息条件的表作为一个完整的数据统计单元进行统计,获得该表的统计信息;
或者,
若确定所述达到触发收集统计信息条件的表的数据量超过所述预设数据统计数量,则将所述达到触发收集统计信息条件的表按照所述预设数据统计数量划分为多个数据统计部分分别进行统计,获得该表的统计信息。
可选地,表数据获取模块42,在基于所述达到触发收集统计信息条件的表的数据,生成所述达到触发收集统计信息条件的表的统计信息时,还具体用于:
判断所述达到触发收集统计信息条件的表的数据量是否超过预设数据量阈值;
若确定所述达到触发收集统计信息条件的表的数据量超过预设数据量阈值,则根据预设比例从所述达到触发收集统计信息条件的表中获取多个数据分别作为样本数据;
基于各所述样本数据进行统计,获得所述达到触发收集统计信息条件的表的统计信息。
可选地,表信息获取模块43,在为所述SQL查询语句确定匹配的查询规划时,具体用于:
基于所述达到触发收集统计信息条件的表的统计信息,确定所述SQL查询语句的多个查询规划;
将查询费时最短的一个查询规划,作为所述SQL查询语句的匹配的查询规划,使所述SQL查询语句依据所述匹配的查询规划查询所述达到触发收集统计信息条件的表的数据以返回给查询方。
可选地,所述表的统计信息,至少包括:最近分析时间、直方图、区分度和行数。
图5是根据一示例性实施例示出的一种电子设备的框图,该设备可以是如图5所示,电子设备,包括:存储器51,处理器52,收发器54;存储器51用于存储处理器可执行指令的存储器;处理器52用于运行计算机程序或指令,以实现如上任意一个实施例提供的数据库统计信息管理方法。
其中,存储器51,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器51可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,处理器52可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本公开实施例的一个或多个集成电路。
其中,收发器54,用于收发数据和指令。
可选的,在具体实现上,如果存储器51、处理器52和收发器54独立实现,则存储器51、处理器52和收发器54可以通过总线53相互连接并完成相互间的通信。总线53可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线53、外部设备互连(Peripheral Component,简称为PCI)总线53或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,简称为EISA)总线53等。总线53可以分为地址总线53、数据总线53、控制总线53等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线53或一种类型的总线53。
可选的,在具体实现上,如果存储器51、处理器52和收发器54集成在一块芯片上实现,则存储器51、处理器52和收发器54可以通过内部接口完成相同间的通信。
一种非临时性计算机可读存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述数据库统计信息管理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种数据库统计信息管理方法,其特征在于,应用于数据库统计信息管理平台,所述数据库统计信息管理平台用于对金融机构的多个数据库进行统一管理;所述方法包括:
判断所述金融机构的多个数据库中是否存在达到触发收集统计信息条件的表;
若确定存在达到触发收集统计信息条件的表,则获取所述达到触发收集统计信息条件的表的数据;
基于所述达到触发收集统计信息条件的表的数据,生成所述达到触发收集统计信息条件的表的统计信息,以在后续获取到查询所述达到触发收集统计信息条件的表的SQL查询语句时,为所述SQL查询语句确定匹配的查询规划。
2.根据权利要求1所述的方法,其特征在于,所述判断所述金融机构的多个数据库中是否存在达到触发收集统计信息条件的表,包括:
判断所述金融机构的多个数据库中是否存在缺失统计信息的表,或者数据变化幅度达到预设幅度阈值的表;
若确定存在缺失统计信息的表或者数据变化幅度达到预设幅度阈值的表,则确定所述金融机构的多个数据库中存在达到触发收集统计信息条件的表;其中,所述数据变化幅度是指本次查询该表时的数据量,与上次查询该表时的数据量之间的差值绝对值;
或者,
若确定不存在缺失统计信息的表以及数据变化幅度未达到预设幅度阈值的表,则确定所述金融机构的多个数据库中不存在达到触发收集统计信息条件的表。
3.根据权利要求1所述的方法,其特征在于,所述基于所述达到触发收集统计信息条件的表的数据,生成所述达到触发收集统计信息条件的表的统计信息,包括:
判断所述达到触发收集统计信息条件的表的数据量是否超过预设数据统计数量;
若确定所述达到触发收集统计信息条件的表的数据量不超过所述预设数据统计数量,则将所述达到触发收集统计信息条件的表作为一个完整的数据统计单元进行统计,获得该表的统计信息;
或者,
若确定所述达到触发收集统计信息条件的表的数据量超过所述预设数据统计数量,则将所述达到触发收集统计信息条件的表按照所述预设数据统计数量划分为多个数据统计部分分别进行统计,获得该表的统计信息。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述基于所述达到触发收集统计信息条件的表的数据,生成所述达到触发收集统计信息条件的表的统计信息,包括:
判断所述达到触发收集统计信息条件的表的数据量是否超过预设数据量阈值;
若确定所述达到触发收集统计信息条件的表的数据量超过预设数据量阈值,则根据预设比例从所述达到触发收集统计信息条件的表中获取多个数据分别作为样本数据;
基于各所述样本数据进行统计,获得所述达到触发收集统计信息条件的表的统计信息。
5.根据权利要求4所述的方法,其特征在于,所述为所述SQL查询语句确定匹配的查询规划,包括:
基于所述达到触发收集统计信息条件的表的统计信息,确定所述SQL查询语句的多个查询规划;
将查询费时最短的一个查询规划,作为所述SQL查询语句的匹配的查询规划,使所述SQL查询语句依据所述匹配的查询规划查询所述达到触发收集统计信息条件的表的数据以返回给查询方。
6.根据权利要求1所述的方法,其特征在于,所述表的统计信息,至少包括:最近分析时间、直方图、区分度和行数。
7.一种数据库统计信息管理平台,其特征在于,所述数据库统计信息管理平台用于对金融机构的多个数据库进行统一管理;包括:
表条件判断模块,用于判断所述金融机构的多个数据库中是否存在达到触发收集统计信息条件的表;
表数据获取模块,用于若确定存在达到触发收集统计信息条件的表,则获取所述达到触发收集统计信息条件的表的数据;
表信息获取模块,用于基于所述达到触发收集统计信息条件的表的数据,生成所述达到触收集统计信息条件的表的统计信息,以在后续获取到查询所述达到触发收集统计信息条件的表的SQL查询语句时,为所述SQL查询语句确定匹配的查询规划。
8.一种电子设备,包括:处理器,收发器以及与所述处理器通信连接的存储器;
所述收发器收发数据和指令;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-6任一项所述的方法。
10.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310453117.4A CN116483835A (zh) | 2023-04-25 | 2023-04-25 | 数据库统计信息管理方法、管理平台及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310453117.4A CN116483835A (zh) | 2023-04-25 | 2023-04-25 | 数据库统计信息管理方法、管理平台及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116483835A true CN116483835A (zh) | 2023-07-25 |
Family
ID=87217400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310453117.4A Pending CN116483835A (zh) | 2023-04-25 | 2023-04-25 | 数据库统计信息管理方法、管理平台及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116483835A (zh) |
-
2023
- 2023-04-25 CN CN202310453117.4A patent/CN116483835A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8812481B2 (en) | Management of interesting database statistics | |
CN108647357B (zh) | 数据查询的方法及装置 | |
CN110147367B (zh) | 一种温度缺失数据填补方法、系统及电子设备 | |
CN110633977A (zh) | 支付异常处理方法、装置及终端设备 | |
CN111522728A (zh) | 自动化测试用例的生成方法、电子设备及可读存储介质 | |
CN110647913B (zh) | 基于聚类算法的异常数据检测方法及装置 | |
CN117271481B (zh) | 数据库自动优化方法及设备 | |
CN110647447A (zh) | 用于分布式系统的异常实例检测方法、装置、设备和介质 | |
CN106485409A (zh) | 一种工作量评估装置和方法 | |
CN108897765A (zh) | 一种数据批量导入方法及其系统 | |
CN111737555A (zh) | 热点关键词的选取方法、设备和存储介质 | |
CN107644041A (zh) | 保单结算处理方法和装置 | |
CN112561388A (zh) | 一种基于物联网的信息处理方法、装置及设备 | |
CN116483835A (zh) | 数据库统计信息管理方法、管理平台及存储介质 | |
CN109118047B (zh) | 预算数据处理的方法及装置 | |
CN116340318A (zh) | 一种二级索引记录处理方法、装置、设备及存储介质 | |
CN116074183A (zh) | 一种基于规则引擎的c3超时分析方法、装置及设备 | |
CN115408858A (zh) | 脉谱参数分区方法、装置、电子设备以及存储介质 | |
CN112346994B (zh) | 一种测试信息关联方法、装置、计算机设备及存储介质 | |
CN114676054A (zh) | 一种测试数据生成方法、装置、设备、介质及产品 | |
CN111311041B (zh) | 一种数据抽取方法及设备和相关装置 | |
CN112396430A (zh) | 用于企业评价的处理方法及系统 | |
CN111127065A (zh) | 用户职住地的获取方法和装置 | |
CN114124708B (zh) | 分光器的端口资源校准方法及装置 | |
CN110377592B (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 |