CN107766353B - 一种数据库统计信息迁移的方法和设备 - Google Patents

一种数据库统计信息迁移的方法和设备 Download PDF

Info

Publication number
CN107766353B
CN107766353B CN201610679944.5A CN201610679944A CN107766353B CN 107766353 B CN107766353 B CN 107766353B CN 201610679944 A CN201610679944 A CN 201610679944A CN 107766353 B CN107766353 B CN 107766353B
Authority
CN
China
Prior art keywords
statistical information
database
updated
local database
local
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
CN201610679944.5A
Other languages
English (en)
Other versions
CN107766353A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610679944.5A priority Critical patent/CN107766353B/zh
Publication of CN107766353A publication Critical patent/CN107766353A/zh
Application granted granted Critical
Publication of CN107766353B publication Critical patent/CN107766353B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/23Updating
    • 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/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Abstract

本申请的目的是提供一种数据库统计信息迁移的方法和设备,通过根据待分析语句的分析请求,将远端数据库中待更新的统计信息拉取到本地数据库;接着,将拉取到的所述待更新的统计信息转换成所述本地数据库的数据结构。解决了自动化将远端数据库中数据表的统计信息拉取到本地数据库中的迁移问题,因此可以从本地数据库中读取到相应的统计信息,从数据库引擎层面提供了通过数据库中的语句更新统计信息的功能;进一步地,将转换后的统计信息反馈至所述待分析语句的诊断语句,能够自动化针对性诊断问题所在并进行相关优化,之后删除相关信息,从而消除人工参与、提高自动化和效率,以及保护用户数据隐私,以满足云环境的需要。

Description

一种数据库统计信息迁移的方法和设备
技术领域
本申请涉及计算机领域,尤其涉及一种数据库统计信息迁移的技术。
背景技术
在数据库中,当结构化查询语句(SQL语句)执行出现问题的时候,现有的解决方案为:数据库管理员根据结构化查询语句(SQL语句)、表结构和统计信息,针对执行计划进行分析,根据统计信息、执行计划所提供的信息,确定性能问题所在并针对性地优化。但在云环境下,因规模化、自动化、隐私策略等原因,DBA(Database Administrator,数据库管理和运维人员)登录到客户实例上并查看客户实例的表结构、统计信息是不合适的,通过上述方案进行诊断SQL的性能并优化需要人工参与、同时导致客户隐私出现安全问题,且现有方案中因表的统计信息是允许权限范围内的查看,部分核心信息不能通过SQL简单更新。
发明内容
本申请的目的是提供一种数据库统计信息迁移的方法和设备,以解决现有技术中不能查看权限范围外的表统计信息、不能通过数据库中的语句简单对统计信息进行更新的问题,以及未能保护用户数据隐私问题。
根据本申请的一个方面,提供了一种数据库统计信息迁移的方法,包括:
判断待分析语句的分析请求是否合法,若合法,将远端数据库中待更新的统计信息拉取到本地数据库;将拉取到的所述待更新的统计信息转换成所述本地数据库的数据结构。
进一步地,所述统计信息由所述远端数据库引擎对数据表进行采样、计算得到。
进一步地,将远端数据库中待更新的统计信息拉取到本地数据库,包括:
将所述远端数据库与所述本地数据库的数据表结构和统计信息进行比较,根据比较结果,将所述远端数据库中待更新的统计信息拉取到所述本地数据库。
更进一步地,将所述远端数据库与所述本地数据库的数据表结构和统计信息进行比较,根据比较结果,将远端数据库中待更新的统计信息拉取到所述本地数据库,包括:
若所述远端数据库中的数据表结构在所述本地数据库中不存在,将所述远端数据库中的数据表结构及待更新的统计信息拉取到所述本地数据库。
更进一步地,将所述远端数据库与所述本地数据库的数据表结构和统计信息进行比较,根据比较结果,将远端数据库中待更新的统计信息拉取到所述本地数据库,还包括:
若所述远端数据库中的数据表结构比所述本地数据库中的数据表结构更新,将所述远端数据库中的数据表结构及待更新的统计信息拉取到所述本地数据库。
更进一步地,将所述远端数据库中的数据表结构及待更新的统计信息拉取到所述本地数据库,包括:
将所述远端数据库中的数据表结构拉取到所述本地数据库;
根据拉取到数据表结构在所述本地数据库中创建对应的本地数据表结构;
根据所述本地数据表结构从所述远端数据库中拉取待更新的统计信息。
更进一步地,将所述远端数据库与所述本地数据库的数据表结构和统计信息进行比较,根据比较结果,将所述远端数据库中待更新的统计信息拉取到所述本地数据库,还包括:
若所述远端数据库中的数据表结构与所述本地数据库中的数据表结构一致,且所述远端数据库中的统计信息比所述本地数据库中的统计信息更新,将所述远端数据库中的统计信息拉取到所述本地数据库。
进一步地,将拉取到的所述待更新的统计信息转换成所述本地数据库的数据结构,包括:
将拉取到的待更新的统计信息转换成所述本地数据库的数据结构;
通过数据库引擎将转换后的待更新的统计信息写入所述本地数据库的系统表中。
进一步地,所述方法还包括:将转换后的统计信息反馈至所述待分析语句的诊断语句。
进一步地,将转换后的统计信息反馈至所述待分析语句的诊断语句,包括:
根据异常信息和所述待更新的统计信息,并通过所述诊断语句对所述待分析语句进行优化,其中,所述异常信息包括待更新的统计信息未拉取到所述本地数据库,或拉取到的所述待更新的统计信息未转换成所述本地数据库的数据结构;
所述待分析语句优化后,删除更新后的统计信息及其对应的数据表结构。
根据本申请的另一方面,还提供了一种数据库统计信息迁移的设备,包括:
拉取装置,用于判断待分析语句的分析请求是否合法,若合法,将远端数据库中待更新的统计信息拉取到本地数据库;
转换装置,用于将拉取到的所述待更新的统计信息转换成所述本地数据库的数据结构。
进一步地,所述统计信息由所述远端数据库引擎对数据表进行采样、计算得到。
进一步地,所述拉取装置用于,将所述远端数据库与所述本地数据库的数据表结构和统计信息进行比较,根据比较结果,将所述远端数据库中待更新的统计信息拉取到所述本地数据库。
更进一步地,所述拉取装置用于,若所述远端数据库中的数据表结构在所述本地数据库中不存在,将所述远端数据库中的数据表结构及待更新的统计信息拉取到所述本地数据库。
更进一步地,所述拉取装置用于,若所述远端数据库中的数据表结构比所述本地数据库中的数据表结构更新,将所述远端数据库中的数据表结构及待更新的统计信息拉取到所述本地数据库。
更进一步地,所述拉取装置用于,将所述远端数据库中的数据表结构拉取到所述本地数据库;根据拉取到数据表结构在所述本地数据库中创建对应的本地数据表结构;根据所述本地数据表结构从所述远端数据库中拉取待更新的统计信息。
更进一步地,所述拉取装置还用于,若所述远端数据库中的数据表结构与所述本地数据库中的数据表结构一致,且所述远端数据库中的统计信息比所述本地数据库中的统计信息更新,将所述远端数据库中的统计信息拉取到所述本地数据库。
进一步地,所述转换装置用于,将拉取到的待更新的统计信息转换成所述本地数据库的数据结构;通过数据库引擎将转换后的待更新的统计信息写入所述本地数据库的系统表中。
进一步地,所述设备还包括:
反馈装置,用于将转换后的统计信息反馈至所述待分析语句的诊断语句。
进一步地,所述反馈装置用于:
根据异常信息和所述待更新的统计信息,并通过所述诊断语句对所述待分析语句进行优化,其中,所述异常信息包括待更新的统计信息未拉取到所述本地数据库,或拉取到的所述待更新的统计信息未转换成所述本地数据库的数据结构;
所述待分析语句优化后,删除更新后的统计信息及其对应的数据表结构。
与现有技术相比,本申请通过判断所述待分析语句的分析请求是否合法,若合法,将远端数据库中待更新的统计信息拉取到本地数据库;接着,将拉取到的所述待更新的统计信息转换成所述本地数据库的数据结构。从而自动化将远端数据库中数据表的统计信息拉取到本地数据库中,因此可以从本地数据库中读取到相应的统计信息,从数据库引擎层面提供了通过数据库中的语句更新统计信息的功能;进一步地,将转换后的统计信息反馈至所述待分析语句的诊断语句,能够自动化针对性诊断问题所在并进行相关优化,之后删除相关信息,从而消除人工参与、提高自动化和效率,以及保护用户数据隐私,以满足云环境的需要。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一个优选实施例的统计信息生成的示意图;
图2示出根据本申请一个方面的又一个优选实施例的统计信息迁移的架构示意图;
图3示出根据本申请一个方面的一个场景实施例中统计信息的迁移的应用示意图;
图4示出根据本申请一个方面的一个实施例中统计信息的迁移过程的流程示意图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
根据本申请的一个方面,提供了一种数据库统计信息迁移的方法;所述方法包括步骤S11和步骤S12,其中,在所述步骤S11中,判断待分析语句的分析请求是否合法,若合法,将远端数据库中待更新的统计信息拉取到本地数据库;在所述步骤S12中,将拉取到的所述待更新的统计信息转换成所述本地数据库的数据结构。从而自动化将远端数据库中数据表的统计信息拉取到本地数据库中,因此可以从本地数据库中读取到相应的统计信息,从数据库引擎层面提供了通过数据库中的语句更新统计信息的功能。
具体地,在步骤S11中,根据待分析语句的分析请求,将远端数据库中待更新的统计信息拉取到本地数据库。
在此,待分析语句优选为结构化查询语句(SQL语句),远端数据库和本地数据库类型优选为PG数据库(PostgreSQL,开源数据库);统计信息由数据库引擎对数据表进行采样、计算得到,可用于数据库引擎执行计划生成、优化待分析语句的参考等。需要说明的是,一条SQL在PG数据库中的执行过程为:SQL输入→解析SQL,获取解析后的语法树→分析、重写语法树,获取查询树→根据重写、分析后的查询树计算各路径代价,从而选择一条成本最优的执行树→根据执行树进行执行→获取结果并返回;可知,PG的SQL优化以执行方式为代价,其中,各路径的代价计算则依赖于系统表中的统计信息,待更新的统计信息为根据待分析语句查询到表名以确定表对应的统计信息。在一实施例中,如图1所示的统计信息的生成示意图,通常,数据表的统计信息是存储在系统表(catalog)中,由数据库引擎(内核)内部对表(以下实施例中将数据表简称为表)进行数据抽样、计算得到并存储在内部数据结构,之后对存储统计信息的catalog进行更新,这个过程在PG中被称为Analyze。图1中的Table-1,Table-2,Table-N分别表示为表1,表2,表N(N为自然数),对Table-1,Table-2,……,Table-N的抽样、计算得到统计信息statistics。当执行一条SQL语句时,数据库引擎根据统计信息生成执行计划,不同的统计信息将引起执行计划的变化,而执行计划决定了一条SQL的执行性能。统计信息会向DBA(Database Administrator,数据库管理和运维人员)或执行诊断的语句提供相关信息用于SQL语句的优化。
本领域技术人员应能理解,所述SQL语句和PG数据库仅为举例,其他现有的或今后可能出现的其他类型的数据库的语句和其他类型的数据库如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在一实施例中,获取待分析语句的分析请求后,检验所述分析请求的合法性,所述分析请求优选为SQL语句请求,则检验SQL语句的词法、语法及语法规则的合法性,若合法,则将远端数据库中待更新的统计信息拉取到本地数据库中,如图2所示的统计信息迁移架构,其中,用PG-A表示远端数据库,用PG-B表示本地数据库,在PG-A中对表进行采样计算后得到统计信息(statistics),PG-B将PG-A中的统计信息拉取过来。
在一优选实施例中,待分析语句的分析请求用程序语言表示为:select diagnose(“select a.id,a.name,a.value from a where a.id=5”);其中,diagnose的参数是“select a.id,a.name,a.value from a where a.id=5”,为需要诊断的SQL语句,诊断程序对“select a.id,a.name,a.value from a where a.id=5”这个SQL语句进行分析以获取其中的表名,这里是a,表a对应的统计信息为待更新的统计信息。在分析的过程中需判断SQL语句是否合法,检查SQL语句的语法和部分语义,若合法,则从远端数据库中根据表名a获取a的表结构和a对应的统计信息,此时表a对应的统计信息为待更新的统计信息,将a对应的统计信息存储到本地数据库中,完成异地统计信息的迁移。
具体地,在步骤S12中,将拉取到的所述待更新的统计信息转换成所述本地数据库的数据结构。
在此,对拉取到的待更新的统计信息进行解析并可更新到本地的catalog中,因通常情况下,统计信息采用的是数据库引擎内部数据结构,统计信息的修改是通过数据库内部数据结构,与远程SQL查询到的结果格式不同,故拉取过来的统计信息无法直接更新,需要解析转换成内部数据结构。
优选地,在步骤S12中,将拉取到的待更新的统计信息转换成所述本地数据库的数据结构之后,通过数据库引擎将转换后的待更新的统计信息写入所述本地数据库的系统表中。其中,系统表catalog用于数据库记录元信息;在一优选实施例中,远端数据库的统计信息的格式为字符串,将该统计信息拉取过来后,转换成能够满足本地数据库的内部数据结构使用的整数数组格式,或将拉取过来的整数数组类型的统计信息转换成本地数据库的字符串类型。需要说明的是,整数数组类型与字符串数组类型之间进行的转换仅为数据库的内部数据结构的使用格式的举例,远端数据库与本地数据库的内部结构不同时,拉取过来的统计信息都需要进行解析转换成符合本地数据库的数据类型,这里不对转换方式或方法作限定,其他现有的或今后可能出现的将拉取过来的统计信息转换成本地数据库的内部结构的方法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
优选地,步骤S11中将远端数据库中待更新的统计信息拉取到本地数据库包括:将所述远端数据库与所述本地数据库的数据表结构和统计信息进行比较,根据比较结果,将所述远端数据库中待更新的统计信息拉取到所述本地数据库。
在此,若待分析语句的分析请求合法,则需要判断是否符合拉取条件,其中,拉取条件的判断需要比较远端数据库与本地数据库的表结构和统计信息,根据比较结果将远端数据库中待更新的统计信息拉取到本地数据库。更优选地,在步骤S11中,将所述远端数据库与所述本地数据库的数据表结构和统计信息进行比较,根据比较结果,将所述远端数据库中待更新的统计信息拉取到所述本地数据库,包括:若所述远端数据库中的数据表结构在所述本地数据库中不存在,将所述远端数据库中的数据表结构及待更新的统计信息拉取到所述本地数据库;若所述远端数据库中的数据表结构比所述本地数据库中的数据表结构更新,将所述远端数据库中的数据表结构及待更新的统计信息拉取到所述本地数据库。
在此,用户在远端数据库中定义表结构,如定义表包含哪些字段、字段类型等,比较远端数据库与本地数据库的表结构,比较结果包括本地数据库中不存在表结构的情况,以及若本地数据库中存在相应的表结构,则需要判断表结构是否发生变化,是否需要更新的情况。只有本地数据库中不存在相应的表结构,或表结构发生变化需要更新的情况下需将远端数据库中的表结构及待更新的统计信息拉取到本地数据库。更优选地,根据上述两种比较结果,将所述远端数据库中的数据表结构及待更新的统计信息拉取到所述本地数据库,包括:将所述远端数据库中的数据表结构拉取到所述本地数据库;接着,根据拉取到数据表结构在所述本地数据库中创建对应的本地数据表结构;随后,根据所述本地数据表结构从所述远端数据库中拉取待更新的统计信息。在一实施例中,当本地数据库不存在表结构和存在但需要更新时,需要利用已有的二进制工具根据表名从远端数据库中将表结构拉取到本地,完成本地数据库表结构的创建,随后,从远程数据库中获取该表对应的统计信息,完成表结构及统计信息的异地拉取。
更优选地,在步骤S11中,将所述远端数据库与所述本地数据库的数据表结构和统计信息进行比较,根据比较结果,将所述远端数据库中待更新的统计信息拉取到所述本地数据库,还包括:
若所述远端数据库中的数据表结构与所述本地数据库中的数据表结构一致,且所述远端数据库中的统计信息比所述本地数据库中的统计信息更新,将所述远端数据库中的统计信息拉取到所述本地数据库。
在此,若所述远端数据库中的数据表结构与所述本地数据库中的数据表结构一致,即在本地数据库中已存在且表结构未发生变化,需要判断远端数据库中表对应的统计信息与本地数据库中的统计信息是否相同,若不同,则只需要将远端数据库中的统计信息拉取到本地数据库。在一优选实施例中,假设,用户在远端数据库PG-A与本地数据库PG-B已定义表名为a的表结构,PG-A与PG-B的表结构一致,而对PG-A中表a进行采样、计算得到的统计信息为M,对PG-B中表a进行采样、计算得到的统计信息为N,其中统计信息M和N的确定过程中使用的采样函数、计算算法不同,M和N不同;此时,需要将PG-A中表a对应的统计信息M拉取到PG-B中,替换掉已有的统计信息N,PG-B中表a的统计信息更新变为M。
优选地,所述方法还包括:步骤S13(未示出),在步骤S13中,将转换后的统计信息反馈至所述待分析语句的诊断语句。
在此,待分析语句的诊断语句与发起诊断请求的待分析语句在不同的进程中,待分析语句的诊断语句也是一种SQL语句。PG数据库的SQL优化以执行方式为代价,其中,执行方式中各路径的代价计算则依赖于系统表中的统计信息。当将远端数据库的统计信息迁移到本地数据库中并完成更新后,SQL诊断语句根据统计信息会自动化地对发起诊断请求的SQL语句进行诊断及进行相关的优化,不需要人工参与,并提高了诊断和优化的效率。
优选地,在步骤S13中,将转换后的统计信息反馈至所述待分析语句的诊断语句,包括:根据异常信息和所述待更新的统计信息,并通过所述诊断语句对所述待分析语句进行优化,其中,所述异常信息包括所述待更新的统计信息未拉取到所述本地数据库,或拉取到的所述待更新的统计信息未转换成所述本地数据库的数据结构;所述待分析语句优化后,删除更新后的统计信息及其对应的数据表结构。
在此,若拉取过来的统计信息在本地数据库中正常更新完成,则SQL诊断语句根据完成更新的统计信息对待分析语句进行优化,其中,拉取过来的统计信息为待更新的统计信息。若拉取过程中或在本地数据库存储过程中发生异常,报告异常信息,诊断语句根据接收到所报告的异常信息诊断SQL语句或返回,其中,异常信息包括待更新的统计信息未拉取到所述本地数据库,出现这种现象可能为待诊断的语句的分析请求不合法,不符合SQL语句的语法或语义等,可能为远端数据库与本地数据库的表结构和统计信息一致,不需要拉取。异常信息还包括拉取到的所述待更新的统计信息未转换成所述本地数据库的数据结构,当拉取到的统计信息在解析转换成本地数据库的内部数据结构时发生错误时,如转换过程中出现乱码,导致解析失败,无法写入到本地数据库的系统表中,对于将远端数据库的统计信息迁移到本地数据库的过程出现的异常信息,需要进行相应的异常处理,如报错并返回。另外,诊断语句根据统计信息对待分析语句优化后,自动地删除更新后的统计信息及其对应的数据表结构,从而保护了用户数据的隐私安全。
在本申请一场景实施例中,如图3所示,一个存储有用户数据的数据库,需要对存储有用户数据的数据库出现的SQL进行优化时,判断该SQL优化请求语句diagnose(“select*from money where custom_id=15”)是否合法,若合法,则根据对SQL语句的解析,如select analyze(“select*from money where custom_id=15”),获取执行SQL时对应的表名,进而根据表名判断表结构在本地数据库中是否存在,若存在则需要判断表结构是否发生了变化、是否需要更新,只有在表结构不存在或需要更新的情况下,根据表名获取分析所需要的money的表结构和表统计信息,存储有用户数据的数据库会向内部数据分析数据库(本地)返回表结构和表的统计信息,接着,根据返回money的表结构和表统计信息进行分析,SQL优化工具在收到返回分析结果(如custom_id未建索引)后根据分析结果进行优化、提供优化建议,如建议custom_id上建立索引,将优化结果进行返回。通过本申请所述的统计信息的迁移方法,使得从用户正在运行的数据库实例中获取一些在本地运行的数据库实例所没有的相关信息(表结构、表的统计信息),以完成基于这些信息所进行的SQL语句分析并给出相关优化建议。综上所述,本申请所述的数据库统计信息迁移的方法,如图4示出的一个实施例中统计信息的迁移过程的流程示意图;通过根据SQL分析请求对请求信息处理、解析判断是否合法,即判断SQL语句是否符合词法、语法规则,若合法,则根据对SQL语句的解析获取执行SQL时对应的表名,进而根据表名判断表结构在本地数据库中是否存在,若存在则需要判断表结构是否发生了变化、是否需要更新,只有在表结构不存在或需要更新的情况下,根据表名从远端获取表结构以将表结构更新到本地,接着,从远端获取表对应的统计信息,将获取到的统计信息解析成内部数据结构,并更新到本地数据库的系统表中,当正常更新完成时结束并返回成功信息,完成了数据库的统计信息在异地数据库间的迁移。当SQL分析请求不合法或拉取到的统计信息未成功更新,则需要对其进行异常处理,如报错及返回。与现有技术相比,利用上述实施例中的统计信息的迁移方法,能够将远端数据库的统计信息在本地进行更新完成迁移,因此可以从本地数据库中读取到相应的统计信息;进一步地,诊断语句根据更新后的统计信息自动地诊断发起诊断请求的SQL语句并进行相关的优化,之后删除迁移过来的统计信息及表结构,从数据库引擎层面提供了通过SQL语句更新统计信息的功能,整个过程消除人工参与、提高自动化和效率,以满足云环境下的需要。
根据本申请另一个方面,提供了一种数据库统计信息迁移的设备;所述设备包括拉取装置和转换装置,其中,拉取装置用于,判断待分析语句的分析请求是否合法,若合法,将远端数据库中待更新的统计信息拉取到本地数据库;转换装置用于,将拉取到的所述待更新的统计信息转换成所述本地数据库的数据结构。从而自动化将远端数据库中数据表的统计信息拉取到本地数据库中,因此可以从本地数据库中读取到相应的统计信息,从数据库引擎层面提供了通过数据库中的语句更新统计信息的功能。
具体地,拉取装置判断待分析语句的分析请求是否合法,若合法,将远端数据库中待更新的统计信息拉取到本地数据库。
在此,待分析语句优选为结构化查询语句(SQL语句),远端数据库和本地数据库类型优选为PG数据库(PostgreSQL,开源数据库);统计信息由数据库引擎对数据表进行采样、计算得到,可用于数据库引擎执行计划生成、优化待分析语句的参考等。需要说明的是,一条SQL在PG数据库中的执行过程为:SQL输入→解析SQL,获取解析后的语法树→分析、重写语法树,获取查询树→根据重写、分析后的查询树计算各路径代价,从而选择一条成本最优的执行树→根据执行树进行执行→获取结果并返回;可知,PG的SQL优化以执行方式为代价,其中,各路径的代价计算则依赖于系统表中的统计信息,待更新的统计信息为根据待分析语句查询到表名以确定表对应的统计信息。在一实施例中,如图1所示的统计信息的生成示意图,通常,数据表的统计信息是存储在系统表(catalog)中,由数据库引擎(内核)内部对表(以下实施例中将数据表简称为表)进行数据抽样、计算得到并存储在内部数据结构,之后对存储统计信息的catalog进行更新,这个过程在PG中被称为Analyze。图1中的Table-1,Table-2,Table-N分别表示为表1,表2,表N(N为自然数),对Table-1,Table-2,……,Table-N的抽样、计算得到统计信息statistics。当执行一条SQL语句时,数据库引擎根据统计信息生成执行计划,不同的统计信息将引起执行计划的变化,而执行计划决定了一条SQL的执行性能。统计信息会向DBA(Database Administrator,数据库管理和运维人员)或执行诊断的语句提供相关信息用于SQL语句的优化。
本领域技术人员应能理解,所述SQL语句和PG数据库仅为举例,其他现有的或今后可能出现的其他类型的数据库的语句和其他类型的数据库如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在一具体实施例中,获取待分析语句的分析请求后,检验所述分析请求的合法性,所述分析请求优选为SQL语句请求,则检验SQL语句的词法、语法的合法性,若合法,则将远端数据库中待更新的统计信息拉取到本地数据库中,如图2所示的统计信息迁移架构,其中,用PG-A表示远端数据库,用PG-B表示本地数据库,在PG-A中对表进行采样计算后得到统计信息(statistics),PG-B将PG-A中的统计信息拉取过来。
在一优选实施例中,待分析语句的分析请求用程序语言表示为:select diagnose(“select a.id,a.name,a.value from a where a.id=5”);其中,diagnose的参数是“select a.id,a.name,a.value from a where a.id=5”,为需要诊断的SQL语句,诊断程序对“select a.id,a.name,a.value from a where a.id=5”这个SQL语句进行分析以获取其中的表名,这里是a,表a对应的统计信息为待更新的统计信息。在分析的过程中需判断SQL语句是否合法,检查SQL语句的语法和部分语义,若合法,则从远端数据库中根据表名a获取a的表结构和a对应的统计信息,此时表a对应的统计信息为待更新的统计信息,将a对应的统计信息存储到本地数据库中,完成异地统计信息的迁移。
具体地,转换装置将拉取到的所述待更新的统计信息转换成所述本地数据库的数据结构。
在此,对拉取到的待更新的统计信息进行解析并可更新到本地的catalog中,因通常情况下,统计信息采用的是数据库引擎内部数据结构,统计信息的修改是通过数据库内部数据结构,与远程SQL查询到的结果格式不同,故拉取过来的统计信息无法直接更新,需要解析转换成内部数据结构。
优选地,转换装置用于,将拉取到的待更新的统计信息转换成所述本地数据库的数据结构之后,通过数据库引擎将转换后的待更新的统计信息写入所述本地数据库的系统表中。其中,系统表catalog用于数据库记录元信息;在一优选实施例中,远端数据库的统计信息的格式为字符串,将该统计信息拉取过来后,转换成能够满足本地数据库的内部数据结构使用的整数数组格式,或将拉取过来的整数数组类型的统计信息转换成本地数据库的字符串类型。需要说明的是,整数数组类型与字符串数组类型之间进行的转换仅为数据库的内部数据结构的使用格式的举例,远端数据库与本地数据库的内部结构不同时,拉取过来的统计信息都需要进行解析转换成符合本地数据库的数据类型,这里不对转换方式或方法作限定,其他现有的或今后可能出现的将拉取过来的统计信息转换成本地数据库的内部结构的方法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
优选地,拉取装置用于:将所述远端数据库与所述本地数据库的数据表结构和统计信息进行比较,根据比较结果,将所述远端数据库中待更新的统计信息拉取到所述本地数据库。
在此,若待分析语句的分析请求合法,则需要判断是否符合拉取条件,其中,拉取条件的判断需要比较远端数据库与本地数据库的表结构和统计信息,根据比较结果将远端数据库中待更新的统计信息拉取到本地数据库。更优选地,拉取装置用于:若所述远端数据库中的数据表结构在所述本地数据库中不存在,将所述远端数据库中的数据表结构及待更新的统计信息拉取到所述本地数据库;若所述远端数据库中的数据表结构比所述本地数据库中的数据表结构更新,将所述远端数据库中的数据表结构及待更新的统计信息拉取到所述本地数据库。
在此,用户在远端数据库中定义表结构,如定义表包含哪些字段、字段类型等,比较远端数据库与本地数据库的表结构,比较结果包括本地数据库中不存在表结构的情况,以及若本地数据库中存在相应的表结构,则需要判断表结构是否发生变化,是否需要更新的情况。只有本地数据库中不存在相应的表结构,或表结构发生变化需要更新的情况下需将远端数据库中的表结构及待更新的统计信息拉取到本地数据库。更优选地,拉取装置用于:将所述远端数据库中的数据表结构拉取到所述本地数据库;接着,根据拉取到数据表结构在所述本地数据库中创建对应的本地数据表结构;随后,根据所述本地数据表结构从所述远端数据库中拉取待更新的统计信息。在一实施例中,当本地数据库不存在表结构和存在但需要更新时,需要利用已有的二进制工具根据表名从远端数据库中将表结构拉取到本地,完成本地数据库表结构的创建,随后,从远程数据库中获取该表对应的统计信息,完成表结构及统计信息的异地拉取。
更优选地,拉取装置用于:若所述远端数据库中的数据表结构与所述本地数据库中的数据表结构一致,且所述远端数据库中的统计信息比所述本地数据库中的统计信息更新,将所述远端数据库中的统计信息拉取到所述本地数据库。
在此,若所述远端数据库中的数据表结构与所述本地数据库中的数据表结构一致,即在本地数据库中已存在且表结构未发生变化,需要判断远端数据库中表对应的统计信息与本地数据库中的统计信息是否相同,若不同,则只需要将远端数据库中的统计信息拉取到本地数据库。在一优选实施例中,假设,用户在远端数据库PG-A与本地数据库PG-B已定义表名为a的表结构,PG-A与PG-B的表结构一致,而对PG-A中表a进行采样、计算得到的统计信息为M,对PG-B中表a进行采样、计算得到的统计信息为N,其中统计信息M和N的确定过程中使用的采样函数、计算算法不同,M和N不同;此时,需要将PG-A中表a对应的统计信息M拉取到PG-B中,替换掉已有的统计信息N,PG-B中表a的统计信息更新变为M。
优选地,所述设备还包括:反馈装置,用于将转换后的统计信息反馈至所述待分析语句的诊断语句。
在此,待分析语句的诊断语句与发起诊断请求的待分析语句在不同的进程中,待分析语句的诊断语句也是一种SQL语句。PG数据库的SQL优化以执行方式为代价,其中,执行方式中各路径的代价计算则依赖于系统表中的统计信息。当将远端数据库的统计信息迁移到本地数据库中并完成更新后,SQL诊断语句根据统计信息会自动化地对发起诊断请求的SQL语句进行诊断及进行相关的优化,不需要人工参与,并提高了诊断和优化的效率。
优选地,反馈装置用于:根据异常信息和所述待更新的统计信息,并通过所述诊断语句对所述待分析语句进行优化,其中,所述异常信息包括所述待更新的统计信息未拉取到所述本地数据库,或拉取到的所述待更新的统计信息未转换成所述本地数据库的数据结构;所述待分析语句优化后,删除更新后的统计信息及其对应的数据表结构。
在此,若拉取过来的统计信息在本地数据库中正常更新完成,则SQL诊断语句根据完成更新的统计信息对待分析语句进行优化,其中,拉取过来的统计信息为待更新的统计信息。若拉取过程中或在本地数据库存储过程中发生异常,报告异常信息,诊断语句根据接收到所报告的异常信息诊断SQL语句或返回,其中,异常信息包括待更新的统计信息未拉取到所述本地数据库,出现这种现象可能为待诊断的语句的分析请求不合法,不符合SQL语句的语法或语义等,可能为远端数据库与本地数据库的表结构和统计信息一致,不需要拉取。异常信息还包括拉取到的所述待更新的统计信息未转换成所述本地数据库的数据结构,当拉取到的统计信息在解析转换成本地数据库的内部数据结构时发生错误时,如转换过程中出现乱码,导致解析失败,无法写入到本地数据库的系统表中,对于将远端数据库的统计信息迁移到本地数据库的过程出现的异常信息,需要进行相应的异常处理,如报错并返回。另外,诊断语句根据统计信息对待分析语句优化后,自动地删除更新后的统计信息及其对应的数据表结构,从而保护了用户数据的隐私安全。
在本申请一场景实施例中,如图3所示,一个存储有用户数据的数据库,需要对存储有用户数据的数据库出现的SQL进行优化时,判断该SQL优化请求语句diagnose(“select*from money where custom_id=15”)是否合法,若合法,则根据对SQL语句的解析,如select analyze(“select*from money where custom_id=15”),获取执行SQL时对应的表名,进而根据表名判断表结构在本地数据库中是否存在,若存在则需要判断表结构是否发生了变化、是否需要更新,只有在表结构不存在或需要更新的情况下,根据表名获取分析所需要的money的表结构和表统计信息,存储有用户数据的数据库会向内部数据分析数据库(本地)返回表结构和表的统计信息,接着,根据返回money的表结构和表统计信息进行分析,SQL优化工具在收到返回分析结果(如custom_id未建索引)后根据分析结果进行优化、提供优化建议,如建议custom_id上建立索引,将优化结果进行返回。通过本申请所述的统计信息的迁移方法,使得从用户正在运行的数据库实例中获取一些在本地运行的数据库实例所没有的相关信息(表结构、表的统计信息),以完成基于这些信息所进行的SQL语句分析并给出相关优化建议。
综上所述,本申请所述的用于数据库统计信息迁移的设备中所述的方法,如图4示出的一个实施例中统计信息的迁移过程的流程示意图;其中,拉取装置用于:根据SQL分析请求对请求信息处理、解析判断是否合法,即判断SQL语句是否符合词法、语法规则,若合法,则根据对SQL语句的解析获取执行SQL时对应的表名,进而根据表名判断表结构在本地数据库中是否存在,若存在则需要判断表结构是否发生了变化、是否需要更新,只有在表结构不存在或需要更新的情况下,根据表名从远端获取表结构以将表结构更新到本地,接着,从远端获取表对应的统计信息,转换装置将获取到的统计信息解析成内部数据结构,并更新到本地数据库的系统表中,当正常更新完成时结束并返回成功信息,完成了数据库的统计信息在异地数据库间的迁移。当SQL分析请求不合法或拉取到的统计信息未成功更新,则需要对其进行异常处理,如报错及返回。与现有技术相比,利用上述实施例中的统计信息的迁移的设备中所述的方法,能够将远端数据库的统计信息在本地进行更新,完成迁移,因此可以从本地数据库中读取到相应的统计信息;进一步地,诊断语句根据更新后的统计信息自动地诊断发起诊断请求的SQL语句并进行相关的优化,之后删除迁移过来的统计信息及表结构,从数据库引擎层面提供了通过SQL语句更新统计信息的功能,整个过程消除人工参与、提高自动化和效率,以满足云环境下的需要。
一种存储装置,其中,所述存储装置存储有:本地数据库,所述本地数据库中存储有从远端数据库中拉取到的待更新的统计信息,所述待更新的统计信息在判断所述待分析语句的分析请求是否合法,若合法之后拉取;转换成所述本地数据库的数据结构的所述待更新的统计信息。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (15)

1.一种数据库统计信息迁移的方法,其中,所述方法包括:
判断待分析语句的分析请求是否合法,若合法,将远端数据库与本地数据库的数据表结构和统计信息进行比较,根据比较结果,将所述远端数据库中待更新的统计信息拉取到所述本地数据库,其中,所述待分析语句是针对所述远端数据库的SQL;
将拉取到的所述待更新的统计信息转换成所述本地数据库的数据结构,通过数据库引擎将转换后的待更新的统计信息写入所述本地数据库的系统表中;
将转换后的统计信息反馈至所述待分析语句的诊断语句。
2.根据权利要求1所述的方法,其中,所述统计信息由所述远端数据库引擎对数据表进行采样、计算得到。
3.根据权利要求1所述的方法,其中,将所述远端数据库与所述本地数据库的数据表结构和统计信息进行比较,根据比较结果,将远端数据库中待更新的统计信息拉取到所述本地数据库,包括:
若所述远端数据库中的数据表结构在所述本地数据库中不存在,将所述远端数据库中的数据表结构及待更新的统计信息拉取到所述本地数据库。
4.根据权利要求3所述的方法,其中,将所述远端数据库与所述本地数据库的数据表结构和统计信息进行比较,根据比较结果,将远端数据库中待更新的统计信息拉取到所述本地数据库,还包括:
若所述远端数据库中的数据表结构比所述本地数据库中的数据表结构更新,将所述远端数据库中的数据表结构及待更新的统计信息拉取到所述本地数据库。
5.根据权利要求4所述的方法,其中,将所述远端数据库中的数据表结构及待更新的统计信息拉取到所述本地数据库,包括:
将所述远端数据库中的数据表结构拉取到所述本地数据库;
根据拉取到数据表结构在所述本地数据库中创建对应的本地数据表结构;
根据所述本地数据表结构从所述远端数据库中拉取待更新的统计信息。
6.根据权利要求1所述的方法,其中,将所述远端数据库与所述本地数据库的数据表结构和统计信息进行比较,根据比较结果,将所述远端数据库中待更新的统计信息拉取到所述本地数据库,还包括:
若所述远端数据库中的数据表结构与所述本地数据库中的数据表结构一致,且所述远端数据库中的统计信息比所述本地数据库中的统计信息更新,将所述远端数据库中的统计信息拉取到所述本地数据库。
7.根据权利要求1所述的方法,其中,将转换后的统计信息反馈至所述待分析语句的诊断语句,包括:
根据异常信息和所述待更新的统计信息,并通过所述诊断语句对所述待分析语句进行优化,其中,所述异常信息包括所述待更新的统计信息未拉取到所述本地数据库,或拉取到的所述待更新的统计信息未转换成所述本地数据库的数据结构;
所述待分析语句优化后,删除更新后的统计信息及其对应的数据表结构。
8.一种数据库统计信息迁移的设备,其中,所述设备包括:
拉取装置,用于判断待分析语句的分析请求是否合法,若合法,将远端数据库与本地数据库的数据表结构和统计信息进行比较,根据比较结果,将所述远端数据库中待更新的统计信息拉取到所述本地数据库,其中,所述待分析语句是针对所述远端数据库的SQL;
转换装置,用于将拉取到的所述待更新的统计信息转换成所述本地数据库的数据结构,通过数据库引擎将转换后的待更新的统计信息写入所述本地数据库的系统表中;
反馈装置,用于将转换后的统计信息反馈至所述待分析语句的诊断语句。
9.根据权利要求8所述的设备,其中,所述统计信息由所述远端数据库引擎对数据表进行采样、计算得到。
10.根据权利要求8所述的设备,其中,所述拉取装置用于:
若所述远端数据库中的数据表结构在所述本地数据库中不存在,将所述远端数据库中的数据表结构及待更新的统计信息拉取到所述本地数据库。
11.根据权利要求10所述的设备,其中,所述拉取装置还用于:
若所述远端数据库中的数据表结构比本所述地数据库中的数据表结构更新,将所述远端数据库中的数据表结构及待更新的统计信息拉取到所述本地数据库。
12.根据权利要求11所述的设备,其中,所述拉取装置用于:
将所述远端数据库中的数据表结构拉取到所述本地数据库;
根据拉取到数据表结构在所述本地数据库中创建对应的本地数据表结构;
根据所述本地数据表结构从所述远端数据库中拉取待更新的统计信息。
13.根据权利要求8所述的设备,其中,所述拉取装置还用于:
若所述远端数据库中的数据表结构与所述本地数据库中的数据表结构一致,且所述远端数据库中的统计信息比所述本地数据库中的统计信息更新,将所述远端数据库中的统计信息拉取到所述本地数据库。
14.根据权利要求8所述的设备,其中,所述反馈装置用于:
根据异常信息和所述待更新的统计信息,并通过所述诊断语句对所述待分析语句进行优化,其中,所述异常信息包括所述待更新的统计信息未拉取到所述本地数据库,或拉取到的所述待更新的统计信息未转换成所述本地数据库的数据结构;
所述待分析语句优化后,删除更新后的统计信息及其对应的数据表结构。
15.一种存储装置,其中,所述存储装置存储有:
本地数据库,所述本地数据库中存储有从远端数据库中拉取到的待更新的统计信息,所述待更新的统计信息在判断待分析语句的分析请求是否合法,若合法之后,将远端数据库与本地数据库的数据表结构和统计信息进行比较,根据比较结果,将所述远端数据库中待更新的统计信息拉取到所述本地数据库,其中,所述待分析语句是针对所述远端数据库的SQL;
转换成所述本地数据库的数据结构的所述待更新的统计信息,通过数据库引擎将转换后的待更新的统计信息写入所述本地数据库的系统表中;
将转换后的统计信息反馈至所述待分析语句的诊断语句。
CN201610679944.5A 2016-08-17 2016-08-17 一种数据库统计信息迁移的方法和设备 Active CN107766353B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610679944.5A CN107766353B (zh) 2016-08-17 2016-08-17 一种数据库统计信息迁移的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610679944.5A CN107766353B (zh) 2016-08-17 2016-08-17 一种数据库统计信息迁移的方法和设备

Publications (2)

Publication Number Publication Date
CN107766353A CN107766353A (zh) 2018-03-06
CN107766353B true CN107766353B (zh) 2022-02-22

Family

ID=61259806

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610679944.5A Active CN107766353B (zh) 2016-08-17 2016-08-17 一种数据库统计信息迁移的方法和设备

Country Status (1)

Country Link
CN (1) CN107766353B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110865829B (zh) * 2018-08-28 2024-04-16 京东科技控股股份有限公司 数据库升级方法、系统、设备及存储介质
CN110297825A (zh) * 2019-05-23 2019-10-01 中国平安人寿保险股份有限公司 数据处理方法、装置、计算机设备以及存储介质
CN111177178B (zh) * 2019-12-03 2023-06-06 腾讯科技(深圳)有限公司 一种数据处理方法及相关设备
CN111625553B (zh) * 2020-05-27 2023-07-28 贵州易鲸捷信息技术有限公司 一种统计信息收集优化方法及系统
CN112667721A (zh) * 2020-12-28 2021-04-16 平安普惠企业管理有限公司 数据分析方法、装置、设备及存储介质
CN113204558B (zh) * 2021-05-25 2023-05-26 城云科技(中国)有限公司 数据表结构自动更新方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750368A (zh) * 2012-06-18 2012-10-24 天津神舟通用数据技术有限公司 一种数据库集群数据高速导入方法
CN103176974A (zh) * 2011-12-20 2013-06-26 国际商业机器公司 优化数据库中访问路径的方法和装置
CN104866580A (zh) * 2015-05-26 2015-08-26 梁猛 一种数据库变更对现有业务影响的快速侦测方法
CN105069134A (zh) * 2015-08-18 2015-11-18 上海新炬网络信息技术有限公司 一种Oracle统计信息自动收集方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10331664B2 (en) * 2011-09-23 2019-06-25 Hartford Fire Insurance Company System and method of insurance database optimization using social networking

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103176974A (zh) * 2011-12-20 2013-06-26 国际商业机器公司 优化数据库中访问路径的方法和装置
CN102750368A (zh) * 2012-06-18 2012-10-24 天津神舟通用数据技术有限公司 一种数据库集群数据高速导入方法
CN104866580A (zh) * 2015-05-26 2015-08-26 梁猛 一种数据库变更对现有业务影响的快速侦测方法
CN105069134A (zh) * 2015-08-18 2015-11-18 上海新炬网络信息技术有限公司 一种Oracle统计信息自动收集方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PLSQL_统计信息系列09_统计信息在不同数据库中迁移;鲍新建;《博客园》;20140105;全文 *
制造业领域_IT男.【Informix】数据库统计信息更新的重要性 -- 系统变慢的可能原因.《新浪博客》.2013, *

Also Published As

Publication number Publication date
CN107766353A (zh) 2018-03-06

Similar Documents

Publication Publication Date Title
CN107766353B (zh) 一种数据库统计信息迁移的方法和设备
US11847574B2 (en) Systems and methods for enriching modeling tools and infrastructure with semantics
US20230135819A1 (en) Systems and methods for diagnosing problems from error logs using natural language processing
US20230281012A1 (en) Systems and methods for automating and monitoring software development operations
US10013439B2 (en) Automatic generation of instantiation rules to determine quality of data migration
US8380645B2 (en) Method and system to enable inferencing for natural language queries of configuration management databases
US9165049B2 (en) Translating business scenario definitions into corresponding database artifacts
US10789295B2 (en) Pattern-based searching of log-based representations of graph databases
US10089334B2 (en) Grouping of database objects
US20160092290A1 (en) Processing data errors for a data processing system
US10915535B2 (en) Optimizations for a behavior analysis engine
US9940215B2 (en) Automatic correlation accelerator
US11023484B2 (en) Model-driven profiling job generator for data sources
US20070112886A1 (en) Method and apparatus for database change management
US20150193213A1 (en) Computer Implemented System and Method for Checking a Program Code
US10409590B2 (en) Creation and execution of customised code for a data processing platform
EP3660696B1 (en) Systems and methods for facilitating data transformation
US10460044B2 (en) Methods and systems for translating natural language requirements to a semantic modeling language statement
US20190164092A1 (en) Determining risk assessment based on assigned protocol values
US11176022B2 (en) Health diagnostics and analytics for object repositories
CN113626423B (zh) 业务数据库的日志管理方法、装置、系统
CN117421328A (zh) 基于人工智能的数据治理方法、系统、设备及可读介质
CN117008921A (zh) 元数据采集方法、电子设备、存储介质
CN116049195A (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
GR01 Patent grant
GR01 Patent grant