CN106776704B - 统计信息收集方法和装置 - Google Patents
统计信息收集方法和装置 Download PDFInfo
- Publication number
- CN106776704B CN106776704B CN201611003385.2A CN201611003385A CN106776704B CN 106776704 B CN106776704 B CN 106776704B CN 201611003385 A CN201611003385 A CN 201611003385A CN 106776704 B CN106776704 B CN 106776704B
- Authority
- CN
- China
- Prior art keywords
- statistical information
- change operation
- change
- new
- record
- 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
Links
Images
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/23—Updating
- G06F16/2358—Change logging, detection, and notification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (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
技术领域
本发明涉及数据库技术领域,特别是涉及一种统计信息收集方法和装置。
背景技术
在数据库中,统计信息主要指的是用于描述数据库中表和索引的大小、规模,以及数据分布状况等的一类信息,例如,表的行数、表的块数、平均每行的大小、索引的根块数、索引字段的行数及索引的最大、最小值等,都属于统计信息。数据库可根据收集的统计信息计算出不同访问路径及join(连接)方式下各执行计划的成本,从而确定出最小成本的执行计划,用于执行SQL(Structured Query Language,结构化查询语言)语句。传统的统计信息收集方式,一般都使用数据库自带的统计信息采集工具进行收集,收集的方式较为简单,导致收集的统计信息可能出现不准确的情况。
发明内容
基于此,有必要提供一种统计信息收集方法,能有效提高收集的统计信息的准确性。
此外,还有必要提供一种统计信息收集装置,能有效提高收集的统计信息的准确性。
一种统计信息收集方法,包括:
获取变更操作记录;
分析所述变更操作记录,得到所述变更操作记录对应的操作类型;
获取与所述操作类型对应的预设的变更操作;
当所述变更操作记录中包含所述预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据所述收集模板收集新统计信息。
在其中一个实施例中,所述操作类型包括表操作;
所述当所述变更操作记录中包含所述预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据所述收集模板收集新统计信息,包括:
当所述操作类型为表操作的变更操作记录中包含新建表操作,则判断包含所述新建表操作的变更操作记录中是否进行数据初始化,若进行,则收集与所述新建表操作对应的数据表的新统计信息;
和/或
当所述操作类型为表操作的变更操作记录中包含删除表所有行操作或表结构在线重定义操作,则备份与所述删除表所有行操作或表结构在线重定义操作关联的数据表的旧统计信息,并收集与所述删除表所有行操作或表结构在线重定义操作关联的数据表的新统计信息。
在其中一个实施例中,所述操作类型包括表操作;
所述当所述变更操作记录中包含所述预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据所述收集模板收集新统计信息,包括:
若所述操作类型为表操作的变更操作记录中包含表结构变更操作,则判断所述表结构变更操作是否为字段变更操作;
若所述表结构变更操作是字段变更操作,则备份与所述字段变更操作对应的数据表的旧统计信息,并收集与所述字段变更操作对应的数据表的新统计信息;
若所述表结构变更操作是表分区操作,当所述表分区操作为新增分区操作,则收集与所述新增分区操作关联的分区的新统计信息,当所述表分区操作为合并分区操作或拆分分区操作,则备份与所述合并分区操作或拆分分区操作关联的分区的旧统计信息,并收集与所述合并分区操作或拆分分区操作关联的分区的新统计信息。
在其中一个实施例中,在所述当所述变更操作记录中包含所述预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据所述收集模板收集新统计信息的步骤之后,还包括:
根据所述操作类型为表操作的变更操作记录中包含的变更操作确定DML对象;
根据记录DML执行情况的文件判断属于所述DML对象的DML数量是否达到预设数值;
若达到,则根据预设的配置项判断是否启用新统计信息,若是,则启用收集的新统计信息,若否,则恢复备份的旧统计信息。
在其中一个实施例中,所述操作类型包括索引操作;
所述当所述变更操作记录中包含所述预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据所述收集模板收集新统计信息,包括:
若所述操作类型为索引操作的变更操作记录中包含新建索引操作,则收集与所述新建索引操作对应的索引的新统计信息;
和/或
若所述操作类型为索引操作的变更操作记录中包含重建索引操作,则备份与所述重建索引操作对应的索引的旧统计信息,并收集与所述重建索引操作对应的索引的新统计信息后,恢复所述旧统计信息。
一种统计信息收集装置,包括:
记录获取模块,用于获取变更操作记录;
分析模块,用于分析所述变更操作记录,得到所述变更操作记录对应的操作类型;
操作获取模块,用于获取与所述操作类型对应的预设的变更操作;
收集模块,用于当所述变更操作记录中包含所述预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据所述收集模板收集新统计信息。
在其中一个实施例中,所述操作类型包括表操作;
所述收集模块,包括:
新建表收集单元,用于当所述操作类型为表操作的变更操作记录中包含新建表操作,则判断包含所述新建表操作的变更操作记录中是否进行数据初始化,若进行,则收集与所述新建表操作对应的数据表的新统计信息;
和/或
表结构重定义收集单元,用于当所述操作类型为表操作的变更操作记录中包含删除表所有行操作或表结构在线重定义操作,则备份与所述删除表所有行操作或表结构在线重定义操作关联的数据表的旧统计信息,并收集与所述删除表所有行操作或表结构在线重定义操作关联的数据表的新统计信息。
在其中一个实施例中,所述操作类型包括表操作;
所述收集模块,包括:
表结构变更收集单元,用于若所述操作类型为表操作的变更操作记录中包含表结构变更操作,则判断所述表结构变更操作是否为字段变更操作;若所述表结构变更操作是字段变更操作,则备份与所述字段变更操作对应的数据表的旧统计信息,并收集与所述字段变更操作对应的数据表的新统计信息;若所述表结构变更操作是表分区操作,当所述表分区操作为新增分区操作,则收集与所述新增分区操作关联的分区的新统计信息,当所述表分区操作为合并分区操作或拆分分区操作,则备份与所述合并分区操作或拆分分区操作关联的分区的旧统计信息,并收集与所述合并分区操作或拆分分区操作关联的分区的新统计信息。
在其中一个实施例中,所述装置还包括:
确定模块,用于根据所述操作类型为表操作的变更操作记录中包含的变更操作确定DML对象;
判断模块,用于根据记录DML执行情况的文件判断属于所述DML对象的DML数量是否达到预设数值;
启用模块,用于若所述数据库变更操作数据中属于所述DML对象的DML数量达到所述预设数值,则根据预设的配置项判断是否启用新统计信息,若是,则启用收集的新统计信息,若否,则恢复备份的旧统计信息。
在其中一个实施例中,所述操作类型包括索引操作;
所述收集模块,包括:
新建索引收集单元,用于若所述操作类型为索引操作的变更操作记录中包含新建索引操作,则收集与所述新建索引操作对应的索引的新统计信息;
和/或
重建索引收集单元,用于若所述操作类型为索引操作的变更操作记录中包含重建索引操作,则备份与所述重建索引操作对应的索引的旧统计信息,并收集与所述重建索引操作对应的索引的新统计信息后,恢复所述旧统计信息。
上述统计信息收集方法和装置,通过分析获取的变更操作记录,得到变更操作记录对应的操作类型,当变更操作记录中包含预设的与操作类型对应的变更操作,则根据与包含的变更操作匹配的收集模板收集新统计信息,针对于与不同的操作类型对应的不同的变更操作,能根据不同的匹配的收集模板收集新统计信息,细化了统计信息的收集方式,能有效提高收集的统计信息的准确性。此外,数据库管理员可根据不同的业务需求针对于不同的变更操作制定不同的收集模板进行收集,提高了制定统计信息收集方式的灵活性。
附图说明
图1为一个实施例中服务器的内部结构示意图;
图2为一个实施例中统计信息收集方法的流程示意图;
图3为一个实施例中当变更操作记录中包含预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据收集模板收集新统计信息的流程示意图;
图4为另一个实施例中当变更操作记录中包含预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据收集模板收集新统计信息的流程示意图;
图5为一个实施例中判断是否启用新统计信息的流程示意图;
图6为又一个实施例中当变更操作记录中包含预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据收集模板收集新统计信息的流程示意图;
图7为一个实施例中统计信息收集装置的结构示意图;
图8为一个实施例中收集模块的内部结构示意图;
图9为另一个实施例中统计信息收集装置的结构示意图;
图10为另一个实施例中收集模块的内部结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中服务器的内部结构示意图。如图1所示,该服务器包括通过***总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该服务器的非易失性存储介质存储有操作***、数据库和统计信息收集装置,数据库中存储有数据库统计信息,该统计信息收集装置用于实现适用于服务器的一种统计信息收集方法。该服务器的处理器用于提供计算和控制能力,支撑整个服务器的运行。该服务器的内存储器为非易失性存储介质中的统计信息收集装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被所述处理器执行时,可使得所述处理器执行统计信息收集方法。该服务器的网络接口用于据以与外部的终端通过网络连接通信,比如接收终端发送的数据查询请求等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
如图2所示,提供了一种统计信息收集方法,包括以下步骤:
步骤S210,获取变更操作记录。
具体的,变更操作记录用于记录数据库中的每一次的变更操作,变更操作指的是能使数据库的统计信息发生变化的操作,例如,新建表操作、新建索引操作、新增分区操作等均属于数据库中的变更操作。变更操作记录中包含有执行的SQL语句、操作时间、操作的数据表、用户等信息。
在步骤S210获取变更操作记录之前,还包括:根据预设的采集方式采集数据库变更操作数据。
具体的,服务器可根据预设的采集方式从数据库的日志文件中采集数据库变更操作数据,数据库变更操作数据中包含有一条或多条变更操作记录。例如,可每隔预设时间从日志文件中采集数据库变更操作数据,或是按照用户列表采集日志文件中与该用户列表中的用户标识关联的数据表、索引等的数据库变更操作数据,但不限于此。
步骤S220,分析变更操作记录,得到变更操作记录对应的操作类型。
具体的,可从采集的数据库变更操作数据中获取变更操作记录,并对变更操作记录进行分析,根据预设的字符串判断变更操作记录对应的操作类型,操作类型可包括表操作、索引操作等,例如,可检测变更操作记录中是否包含“table”字符串,若包含,则可认为是表操作,可检测变更操作记录中是否包含“index”字符串,若包含,则可认为是索引操作等,并不限于此。
步骤S230,获取与操作类型对应的预设的变更操作。
具体的,可预设设置不同的操作类型对应的变更操作,例如,操作类型为表操作,与其对应的预设的变更操作可包括新建表操作、删除表所有行操作、表结构在线重定义操作、字段变更操作等,操作类型为索引操作,与其对应的预设的变更操作可包括新建索引操作及重建索引操作等。
步骤S240,当变更操作记录中包含预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据收集模板收集新统计信息。
具体的,可获取与变更操作记录的操作类型对应的预设的变更操作,并检测变更操作记录是否包含与操作类型对应的预设的变更操作,不同的变更操作可对应于不同的收集模板,每套收集模板制定了一套收集统计信息的具体规则流程,可根据与变更操作记录中包含的变更操作匹配的收集模板,收集数据库在执行变更操作后的相关的数据表或索引的新统计信息。数据库管理员可预先制定与不同的变更操作匹配的统计信息收集模板,可灵活制定数据库执行每个变更操作后,不同的统计信息收集方式。在其它的实施例中,服务器还可建立多条收集线程,使各条收集线程分别根据与变更操作记录中包含的变更操作匹配的收集模板收集新统计信息,可采用并行处理的方式收集统计信息,提高收集效率。
上述统计信息收集方法,通过分析获取的变更操作记录,得到变更操作记录对应的操作类型,当变更操作记录中包含预设的与操作类型对应的变更操作,则根据与包含的变更操作匹配的收集模板收集新统计信息,针对于与不同的操作类型对应的不同的变更操作,能根据不同的匹配的收集模板收集新统计信息,细化了统计信息的收集方式,能有效提高收集的统计信息的准确性。此外,数据库管理员可根据不同的业务需求针对于不同的变更操作制定不同的收集模板进行收集,提高了制定统计信息收集方式的灵活性。
如图3所示,在一个实施例中,步骤S240当变更操作记录中包含预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据收集模板收集新统计信息,可包括以下步骤:
步骤S302,当操作类型为表操作的变更操作记录中包含新建表操作,则判断包含新建表操作的变更操作记录中是否进行数据初始化,若是,则执行步骤S304,若否,则执行步骤S306。
具体的,与操作类型为表操作对应的预设的变更操作可包括新建表操作。新建表操作,即为在数据库中创建一张新的数据表,可根据操作类型为表操作的变更操作记录中执行的SQL语句,检测该变更操作记录中是否包含新建表操作,若包含,则进一步判断执行新建表操作后是否进行数据初始化,数据初始化主要是用于初始化新建表的各项参数,可包括表的大小、所属用户、外键关系等。
步骤S304,收集与新建表操作对应的数据表的新统计信息。
具体的,若执行新建表操作后也进行了数据初始化,则说明已对新建的数据表的各项参数进行了设置,可使用Cascade(级联删除)收集新建的数据表的新统计信息,具体可包括新建的数据表的行数、块数、平均每行的大小等,使用Cascade收集新统计信息,即会对数据表中的列、行及索引等的统计信息进行收集。
步骤S306,不作处理。
在一个实施例中,步骤S240当变更操作记录中包含预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据收集模板收集新统计信息,可包括:当操作类型为表操作的变更操作记录中包含删除表所有行操作或表结构在线重定义操作,则备份与删除表所有行操作或表结构在线重定义操作关联的数据表的旧统计信息,并收集与删除表所有行操作或表结构在线重定义操作关联的数据表的新统计信息。
具体的,与操作类型为表操作对应的预设的变更操作可包括删除表所有行操作及表结构在线重定义操作。删除表所有行操作(truncate table)操作,即为快速删除数据表中的所有记录数据,但保留数据表的结构。表结构,主要指的是数据表中的字段、类型、主键、外键等基本属性,表结构在线重定义指的是在重定义表结构的过程中不影响数据库使用者,数据库使用者仍然可以进行存取、新增、修改、删除等操作。可根据操作类型为表操作的变更操作记录中执行的SQL语句,检测该变更操作记录中是否包含删除表所有行操作或表结构在线重定义操作,若包含,则备份与删除表所有行操作或表结构在线重定义操作关联的数据表的旧统计信息,即备份存储执行删除表所有行操作或表结构在线重定义操作之前,数据表的统计信息,当需要使用旧统计信息时,可直接进行调用。备份完成后,可使用Cascade收集执行删除表所有行操作或表结构在线重定义操作之后,关联的数据库的新统计信息。
在本实施例中,针对于与操作类型为表操作对应的不同的变更操作,有不同的统计信息收集方式,细化了统计信息的收集方式,能有效提高收集的统计信息的准确性。
如图4所示,在一个实施例中,步骤S240当变更操作记录中包含预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据收集模板收集新统计信息,可包括以下步骤:
步骤S402,若操作类型为表操作的变更操作记录中包含表结构变更操作,则判断表结构变更操作是否为字段变更操作,若是,则执行步骤S404,若否,则执行步骤S406。
具体的,与操作类型为表操作对应的预设的变更操作可包括表结构变更操作。表结构变更操作,指的是对表结构进行新增、删除及修改等操作,可根据操作类型为表操作的变更操作记录中执行的SQL语句,检测该变更操作记录中是否包含表结构变更操作,若包含,则可进一步检测包含的表结构变更操作是否为字段变更操作,字段变更操作可包括新增字段、删除字段及修改字段等。
步骤S404,备份与字段变更操作对应的数据表的旧统计信息,并收集与字段变更操作对应的数据表的新统计信息。
具体的,若变更操作记录中包含的表结构变更操作为字段变更操作,则可备份与字段变更操作对应的数据表,在执行字段变更操作之前的旧统计信息,并使用Cascade收集执行字段变更操作之后的新统计信息。
步骤S406,若表结构变更操作是表分区操作,判断表分区操作是否为新增分区操作,若是,则执行步骤S408,若否,则执行步骤S410。
具体的,若变更操作记录中包含的表结构变更操作不是字段变更操作,可进一步检测该包含的表结构变更操作是否为表分区操作,表分区操作可包括新增分区、合并分区、删除分区、将分区表转化为普通表,以及将普通表转化为分区表等操作。
步骤S408,收集与新增分区操作关联的分区的新统计信息。
具体的,数据表中可包含有多个分区,每个分区下又可包含多个数据块,当变更操作记录中包含的表分区操作为新增分区操作,则收集新增的分区的新统计信息,可包括该新增的分块的行数、块数、平均每行的大小等信息。
步骤S410,判断表分区操作是否为合并分区操作或拆分分区操作,若是,则执行步骤S412,若否,则执行步骤S414。
步骤S412,备份与合并分区操作或拆分分区操作关联的分区的旧统计信息,并收集与合并分区操作或拆分分区操作关联的分区的新统计信息。
具体的,若变更操作记录中包含的表分区操作为合并分区操作或拆分分区操作,可先备份存储与合并分区操作或拆分分区操作的关联的分区,在执行合并分区操作或拆分分区操作之前的旧统计信息,再收集执行合并分区操作或拆分分区操作之后的新统计信息。
步骤S414,不作处理。
在本实施例中,针对于不同的表结构变更操作,有不同的统计信息收集方式,优化了分区表的统计信息收集方式,大大细化了到了统计信息的收集方式,能有效提高收集的统计信息的准确性。
如图5所示,在一个实施例中,在步骤S240当变更操作记录中包含预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据收集模板收集新统计信息之后,还包括以下步骤:
步骤S502,根据操作类型为表操作的变更操作记录中包含的变更操作确定DML对象。
具体的,DML(Data Manipulation Language,数据操纵语言)是SQL的分类之一,其主要包括select(选择)、update(更新)、insert(***)、delete(删除)四种语法。DML对象指的是执行的DML所属的类别对象,数据库可记录各个数据表的DML的执行情况,服务器可根据与操作类型为表操作的变更操作记录中包含的变更操作对应的DML对象获取DML的执行量,从而确定DML对象的数据变化量。例如,若变更操作为字段变更操作,则对应的DML对象为与字段变更操作对应的数据表中的字段变更DML,若变更操作为收缩表操作,则对应的DML对象为数据库***文件的所有执行DML,若变更操作不属于新建表操作或表结构变更操作,则对应的DML对应为数据库工作文件的所有执行DML。
步骤S504,根据记录DML执行情况的文件判断属于DML对象的DML数量是否达到预设数值,若是,则执行步骤S508,若否,则执行步骤S506。
具体的,确定与操作类型为表操作的变更操作记录中包含的变更操作对应的DML对象后,可从记录DML执行情况的文件中获取属于该DML对象的DML数量,当属于该DML对象的DML数量达到预设数值,则可判断是否启用收集的新统计信息。例如,变更操作记录中包含字段变更操作,其对应的DML对象为与字段变更操作对应的数据表中的字段变更DML,则可从记录DML执行情况的文件中获取预设时间内与字段变更操作对应的数据表中,字段变更DML的数量,并判断是否达到10%,其中,预设时间与采集数据库变更操作数据的预设时间一致。
在其它的实施例中,当变更操作记录中不包含与操作类型对应的预设的变更操作,也可根据执行的DML数量判断是否进行统计信息收集,根据记录的执行的DML,可确定数据表的数据变化情况,为统计信息的收集更新提供有用的数据依据。
步骤S506,不作处理。
步骤S508,根据预设的配置项判断是否启用新统计信息,若是,则执行步骤S510,若否,则执行步骤S512。
具体的,预设的配置项可包括数据库版本号、内存参数、CPU(Central ProcessingUnit,中央处理器)参数、I/O(input/output)负载情况等,可根据预设的配置项进行影响分析,判断新统计信息是否会对数据库造成性能影响,若进行影响分析后得到新统计信息对数据库的性能影响较小,则可启用新统计信息,若进行影响分析后得到新统计信息对数据库的性能影响较大,则不启用新统计信息,可导入备份的旧统计信息,使数据库依然使用旧统计信息计算确定SQL的执行计划。
步骤S510,启用收集的新统计信息。
步骤S512,恢复备份的旧统计信息。
在本实施例中,可根据预设的配置项进行影响分析,判断是否启用新统计信息,减少新统计信息对整个数据库的性能造成影响,可有效保证数据库的稳定性。
如图6所示,在一个实施例中,步骤S240当变更操作记录中包含预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据收集模板收集新统计信息,包括步骤S602和/或步骤S604。
步骤S602,若操作类型为索引操作的变更操作记录中包含新建索引操作,则收集与新建索引操作对应的索引的新统计信息。
具体的,索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。与操作类型为索引操作对应的预设的变更操作可包括新建索引操作。新建索引操作,即在数据表中创建一个新的索引,可根据操作类型为索引操作的变更操作记录中执行的SQL语句,检测该变更操作记录中是否包含新建索引操作,若包含,则可收集新建的索引的新统计信息,具体可包括新建的索引的根块数、索引字段的行数及索引的最大、最小值等。
步骤S604,若操作类型为索引操作的变更操作记录中包含重建索引操作,则备份与重建索引操作对应的索引的旧统计信息,并收集与重建索引操作对应的索引的新统计信息后,恢复旧统计信息。
具体的,与操作类型为索引操作对应的预设的变更操作可包括重建索引操作,当一个索引的结构发生了偏差,造成倾斜,从而在进行数据查询时导致空间浪费,则可执行重建索引操作对索引进行重建。重建索引操作与新建索引操作的区别在于,重建索引操作是在原有的索引的基础之上进行重建(rebuild),而新建索引操作则是直接创建(create)一个新的索引。可根据操作类型为索引操作的变更操作记录中执行的SQL语句,检测该变更操作记录中是否包含重建索引操作,若包含,则可备份需要进行重建的索引在执行重建索引操作之前的旧统计信息,并收集重建后的索引的新统计信息,对新统计信息进行备份后,可导入之前备份的旧统计信息,保证索引重建后的稳定性。
在本实施例中,针对于与操作类型为索引操作对应的不同的变更操作,有不同的统计信息收集方式,细化了统计信息的收集方式,能有效提高收集的统计信息的准确性。
如图7所示,提供一种统计信息收集装置,包括记录获取模块710、分析模块720、操作获取模块730及收集模块740。
记录获取模块710,用于获取变更操作记录。
具体的,变更操作记录用于记录数据库中的每一次的变更操作,变更操作指的是能使数据库的统计信息发生变化的操作,例如,新建表操作、新建索引操作、新增分区操作等均属于数据库中的变更操作。变更操作记录中包含有执行的SQL语句、操作时间、操作的数据表、用户等信息。
记录获取模块710,还用于根据预设的采集方式采集数据库变更操作数据。
具体的,服务器可根据预设的采集方式从数据库的日志文件中采集数据库变更操作数据,数据库变更操作数据中包含有一条或多条变更操作记录。例如,可每隔预设时间从日志文件中采集数据库变更操作数据,或是按照用户列表采集日志文件中与该用户列表中的用户标识关联的数据表、索引等的数据库变更操作数据,但不限于此。
分析模块720,用于分析变更操作记录,得到变更操作记录对应的操作类型。
具体的,可从采集的数据库变更操作数据中获取变更操作记录,并对变更操作记录进行分析,根据预设的字符串判断变更操作记录对应的操作类型,操作类型可包括表操作、索引操作等,例如,可检测变更操作记录中是否包含“table”字符串,若包含,则可认为是表操作,可检测变更操作记录中是否包含“index”字符串,若包含,则可认为是索引操作等,并不限于此。
操作获取模块730,用于获取与操作类型对应的预设的变更操作。
具体的,可预设设置不同的操作类型对应的变更操作,例如,操作类型为表操作,与其对应的预设的变更操作可包括新建表操作、删除表所有行操作、表结构在线重定义操作、字段变更操作等,操作类型为索引操作,与其对应的预设的变更操作可包括新建索引操作及重建索引操作等。
收集模块740,用于当变更操作记录中包含所述预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据收集模板收集新统计信息。
具体的,可获取与变更操作记录的操作类型对应的预设的变更操作,并检测变更操作记录是否包含与操作类型对应的预设的变更操作,不同的变更操作可对应于不同的收集模板,每套收集模板制定了一套收集统计信息的具体规则流程,可根据与变更操作记录中包含的变更操作匹配的收集模板,收集数据库在执行变更操作后的相关的数据表或索引的新统计信息。数据库管理员可预先制定与不同的变更操作匹配的统计信息收集模板,可灵活制定数据库执行每个变更操作后,不同的统计信息收集方式。在其它的实施例中,服务器还可建立多条收集线程,使各条收集线程分别根据与变更操作记录中包含的变更操作匹配的收集模板收集新统计信息,可采用并行处理的方式收集统计信息,提高收集效率。
上述统计信息收集装置,通过分析获取的变更操作记录,得到变更操作记录对应的操作类型,当变更操作记录中包含预设的与操作类型对应的变更操作,则根据与包含的变更操作匹配的收集模板收集新统计信息,针对于与不同的操作类型对应的不同的变更操作,能根据不同的匹配的收集模板收集新统计信息,细化了统计信息的收集方式,能有效提高收集的统计信息的准确性。此外,数据库管理员可根据不同的业务需求针对于不同的变更操作制定不同的收集模板进行收集,提高了制定统计信息收集方式的灵活性。
如图8所示,在一个实施例中,收集模块740包括新建表收集单742和/或同结构重定义收集单元744和/或表结构变更收集单元746。
新建表收集单742,用于当操作类型为表操作的变更操作记录中包含新建表操作,则判断包含新建表操作的变更操作记录中是否进行数据初始化,若进行,则收集与新建表操作对应的数据表的新统计信息。
具体的,与操作类型为表操作对应的预设的变更操作可包括新建表操作。新建表操作,即为在数据库中创建一张新的数据表,可根据操作类型为表操作的变更操作记录中执行的SQL语句,检测该变更操作记录中是否包含新建表操作,若包含,则进一步判断执行新建表操作后是否进行数据初始化,数据初始化主要是用于初始化新建表的各项参数,可包括表的大小、所属用户、外键关系等。若执行新建表操作后也进行了数据初始化,则说明已对新建的数据表的各项参数进行了设置,可使用Cascade收集新建的数据表的新统计信息,具体可包括新建的数据表的行数、块数、平均每行的大小等,使用Cascade收集新统计信息,即会对数据表中的列、行及索引等的统计信息进行收集。
表结构重定义收集单元744,用于当操作类型为表操作的变更操作记录中包含删除表所有行操作或表结构在线重定义操作,则备份与删除表所有行操作或表结构在线重定义操作关联的数据表的旧统计信息,并收集与删除表所有行操作或表结构在线重定义操作关联的数据表的新统计信息。
具体的,与操作类型为表操作对应的预设的变更操作可包括删除表所有行操作及表结构在线重定义操作。删除表所有行操作(truncate table)操作,即为快速删除数据表中的所有记录数据,但保留数据表的结构。表结构,主要指的是数据表中的字段、类型、主键、外键等基本属性,表结构在线重定义指的是在重定义表结构的过程中不影响数据库使用者,数据库使用者仍然可以进行存取、新增、修改、删除等操作。可根据操作类型为表操作的变更操作记录中执行的SQL语句,检测该变更操作记录中是否包含删除表所有行操作或表结构在线重定义操作,若包含,则备份与删除表所有行操作或表结构在线重定义操作关联的数据表的旧统计信息,即备份存储执行删除表所有行操作或表结构在线重定义操作之前,数据表的统计信息,当需要使用旧统计信息时,可直接进行调用。备份完成后,可使用Cascade收集执行删除表所有行操作或表结构在线重定义操作之后,关联的数据库的新统计信息。
表结构变更收集单元746,用于若操作类型为表操作的变更操作记录中包含表结构变更操作,则判断表结构变更操作是否为字段变更操作;若表结构变更操作是字段变更操作,则备份与字段变更操作对应的数据表的旧统计信息,并收集与字段变更操作对应的数据表的新统计信息;若表结构变更操作是表分区操作,当表分区操作为新增分区操作,则收集与新增分区操作关联的分区的新统计信息,当表分区操作为合并分区操作或拆分分区操作,则备份与合并分区操作或拆分分区操作关联的分区的旧统计信息,并收集与合并分区操作或拆分分区操作关联的分区的新统计信息。
具体的,与操作类型为表操作对应的预设的变更操作可包括表结构变更操作。表结构变更操作,指的是对表结构进行新增、删除及修改等操作,可根据操作类型为表操作的变更操作记录中执行的SQL语句,检测该变更操作记录中是否包含表结构变更操作,若包含,则可进一步检测包含的表结构变更操作是否为字段变更操作,字段变更操作可包括新增字段、删除字段及修改字段等。
若变更操作记录中包含的表结构变更操作为字段变更操作,则可备份与字段变更操作对应的数据表,在执行字段变更操作之前的旧统计信息,并使用Cascade收集执行字段变更操作之后的新统计信息。
若变更操作记录中包含的表结构变更操作不是字段变更操作,可进一步检测该包含的表结构变更操作是否为表分区操作,表分区操作可包括新增分区、合并分区、删除分区、将分区表转化为普通表,以及将普通表转化为分区表等操作。数据表中可包含有多个分区,每个分区下又可包含多个数据块,当变更操作记录中包含的表分区操作为新增分区操作,则收集新增的分区的新统计信息,可包括该新增的分块的行数、块数、平均每行的大小等信息。若变更操作记录中包含的表分区操作为合并分区操作或拆分分区操作,可先备份存储与合并分区操作或拆分分区操作的关联的分区,在执行合并分区操作或拆分分区操作之前的旧统计信息,再收集执行合并分区操作或拆分分区操作之后的新统计信息,优化了分区表的统计信息收集方式。
在本实施例中,针对于与操作类型为表操作对应的不同的变更操作,有不同的统计信息收集方式,细化了统计信息的收集方式,能有效提高收集的统计信息的准确性。
如图9所示,在一个实施例中,上述统计信息收集装置,除了包括记录获取模块710、分析模块720、操作获取模块730及收集模块740,还包括确定模块750、判断模块760及启用模块770。
确定模块750,用于根据操作类型为表操作的变更操作记录中包含的变更操作确定DML对象。
具体的,DML是SQL的分类之一,其主要包括select(选择)、update(更新)、insert(***)、delete(删除)四种语法。DML对象指的是执行的DML所属的类别对象,数据库可记录各个数据表的DML的执行情况,服务器可根据与操作类型为表操作的变更操作记录中包含的变更操作对应的DML对象获取DML的执行量,从而确定DML对象的数据变化量。例如,若变更操作为字段变更操作,则对应的DML对象为与字段变更操作对应的数据表中的字段变更DML,若变更操作为收缩表操作,则对应的DML对象为数据库***文件的所有执行DML,若变更操作不属于新建表操作或表结构变更操作,则对应的DML对应为数据库工作文件的所有执行DML。
判断模块760,用于根据记录DML执行情况的文件判断属于DML对象的DML数量是否达到预设数值。
具体的,确定与操作类型为表操作的变更操作记录中包含的变更操作对应的DML对象后,可从记录DML执行情况的文件中获取属于该DML对象的DML数量,当属于该DML对象的DML数量达到预设数值,则可判断是否启用收集的新统计信息。例如,变更操作记录中包含字段变更操作,其对应的DML对象为与字段变更操作对应的数据表中的字段变更DML,则可从记录DML执行情况的文件中获取预设时间内与字段变更操作对应的数据表中,字段变更DML的数量,并判断是否达到10%,其中,预设时间与采集数据库变更操作数据的预设时间一致。
在其它的实施例中,当变更操作记录中不包含预设的与操作类型对应的变更操作,也可根据执行的DML数量判断是否进行统计信息收集,根据记录的执行的DML,可确定数据表的数据变化情况,为统计信息的收集更新提供有用的数据依据。
启用模块770,用于若数据库变更操作数据中属于所述DML对象的DML数量达到所述预设数值,则根据预设的配置项判断是否启用新统计信息,若是,则启用收集的新统计信息,若否,则恢复备份的旧统计信息。
具体的,预设的配置项可包括数据库版本号、内存参数、CPU参数、I/O负载情况等,可根据预设的配置项进行影响分析,判断新统计信息是否会对数据库造成性能影响,若进行影响分析后得到新统计信息对数据库的性能影响较小,则可启用新统计信息,若进行影响分析后得到新统计信息对数据库的性能影响较大,则不启用新统计信息,可导入备份的旧统计信息,使数据库依然使用旧统计信息计算确定SQL的执行计划。
在本实施例中,可根据预设的配置项进行影响分析,判断是否启用新统计信息,减少新统计信息对整个数据库的性能造成影响,可有效保证数据库的稳定性。
如图10所示,在一个实施例中,收集模块740包括新建索引收集单元741和/或重建索引收集单元743。
新建索引收集单元741,用于若操作类型为索引操作的变更操作记录中包含新建索引操作,则收集与新建索引操作对应的索引的新统计信息。
具体的,索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。与操作类型为索引操作对应的预设的变更操作可包括新建索引操作。新建索引操作,即在数据表中创建一个新的索引,可根据操作类型为索引操作的变更操作记录中执行的SQL语句,检测该变更操作记录中是否包含新建索引操作,若包含,则可收集新建的索引的新统计信息,具体可包括新建的索引的根块数、索引字段的行数及索引的最大、最小值等。
重建索引收集单元743,用于若操作类型为索引操作的变更操作记录中包含重建索引操作,则备份与重建索引操作对应的索引的旧统计信息,并收集与重建索引操作对应的索引的新统计信息后,恢复旧统计信息。
具体的,与操作类型为索引操作对应的预设的变更操作可包括重建索引操作,当一个索引的结构发生了偏差,造成倾斜,从而在进行数据查询时导致空间浪费,则可执行重建索引操作对索引进行重建。重建索引操作与新建索引操作的区别在于,重建索引操作是在原有的索引的基础之上进行重建(rebuild),而新建索引操作则是直接创建(create)一个新的索引。可根据操作类型为索引操作的变更操作记录中执行的SQL语句,检测该变更操作记录中是否包含重建索引操作,若包含,则可备份需要进行重建的索引在执行重建索引操作之前的旧统计信息,并收集重建后的索引的新统计信息,对新统计信息进行备份后,可导入之前备份的旧统计信息,保证索引重建后的稳定性。
在本实施例中,针对于与操作类型为索引操作对应的不同的变更操作,有不同的统计信息收集方式,细化了统计信息的收集方式,能有效提高收集的统计信息的准确性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种统计信息收集方法,包括:
获取变更操作记录,所述变更操作记录用于记录数据库中的每一次的变更操作;
分析所述变更操作记录,得到所述变更操作记录对应的操作类型;
获取与所述操作类型对应的预设的变更操作;
当所述变更操作记录中包含所述预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据所述收集模板收集新统计信息,其中所述收集模板为预先制定的与不同的变更操作匹配的统计信息收集模板,每套所述收集模板制定了一套收集统计信息的具体规则流程。
2.根据权利要求1所述的统计信息收集方法,其特征在于,所述操作类型包括表操作;
所述当所述变更操作记录中包含所述预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据所述收集模板收集新统计信息,包括:
当所述操作类型为表操作的变更操作记录中包含新建表操作,则判断包含所述新建表操作的变更操作记录中是否进行数据初始化,若进行,则收集与所述新建表操作对应的数据表的新统计信息;
和/或
当所述操作类型为表操作的变更操作记录中包含删除表所有行操作或表结构在线重定义操作,则备份与所述删除表所有行操作或表结构在线重定义操作关联的数据表的旧统计信息,并收集与所述删除表所有行操作或表结构在线重定义操作关联的数据表的新统计信息。
3.根据权利要求1或2所述的统计信息收集方法,其特征在于,所述操作类型包括表操作;
所述当所述变更操作记录中包含所述预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据所述收集模板收集新统计信息,包括:
若所述操作类型为表操作的变更操作记录中包含表结构变更操作,则判断所述表结构变更操作是否为字段变更操作;
若所述表结构变更操作是字段变更操作,则备份与所述字段变更操作对应的数据表的旧统计信息,并收集与所述字段变更操作对应的数据表的新统计信息;
若所述表结构变更操作是表分区操作,当所述表分区操作为新增分区操作,则收集与所述新增分区操作关联的分区的新统计信息,当所述表分区操作为合并分区操作或拆分分区操作,则备份与所述合并分区操作或拆分分区操作关联的分区的旧统计信息,并收集与所述合并分区操作或拆分分区操作关联的分区的新统计信息。
4.根据权利要求3所述的统计信息收集方法,其特征在于,在所述当所述变更操作记录中包含所述预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据所述收集模板收集新统计信息的步骤之后,还包括:
根据所述操作类型为表操作的变更操作记录中包含的变更操作确定DML对象;
根据记录DML执行情况的文件判断属于所述DML对象的DML数量是否达到预设数值;
若达到,则根据预设的配置项判断是否启用新统计信息,若是,则启用收集的新统计信息,若否,则恢复备份的旧统计信息。
5.根据权利要求1所述的统计信息收集方法,其特征在于,所述操作类型包括索引操作;
所述当所述变更操作记录中包含所述预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据所述收集模板收集新统计信息,包括:
若所述操作类型为索引操作的变更操作记录中包含新建索引操作,则收集与所述新建索引操作对应的索引的新统计信息;
和/或
若所述操作类型为索引操作的变更操作记录中包含重建索引操作,则备份与所述重建索引操作对应的索引的旧统计信息,并收集与所述重建索引操作对应的索引的新统计信息后,恢复所述旧统计信息。
6.一种统计信息收集装置,其特征在于,包括:
记录获取模块,用于获取变更操作记录,所述变更操作记录用于记录数据库中的每一次的变更操作;
分析模块,用于分析所述变更操作记录,得到所述变更操作记录对应的操作类型;
操作获取模块,用于获取与所述操作类型对应的预设的变更操作;
收集模块,用于当所述变更操作记录中包含所述预设的变更操作,则获取与包含的变更操作匹配的收集模板,并根据所述收集模板收集新统计信息,其中所述收集模板为预先制定的与不同的变更操作匹配的统计信息收集模板,每套所述收集模板制定了一套收集统计信息的具体规则流程。
7.根据权利要求6所述的统计信息收集装置,其特征在于,所述操作类型包括表操作;
所述收集模块,包括:
新建表收集单元,用于当所述操作类型为表操作的变更操作记录中包含新建表操作,则判断包含所述新建表操作的变更操作记录中是否进行数据初始化,若进行,则收集与所述新建表操作对应的数据表的新统计信息;
和/或
表结构重定义收集单元,用于当所述操作类型为表操作的变更操作记录中包含删除表所有行操作或表结构在线重定义操作,则备份与所述删除表所有行操作或表结构在线重定义操作关联的数据表的旧统计信息,并收集与所述删除表所有行操作或表结构在线重定义操作关联的数据表的新统计信息。
8.根据权利要求6或7所述的统计信息收集装置,其特征在于,所述操作类型包括表操作;
所述收集模块,包括:
表结构变更收集单元,用于若所述操作类型为表操作的变更操作记录中包含表结构变更操作,则判断所述表结构变更操作是否为字段变更操作;若所述表结构变更操作是字段变更操作,则备份与所述字段变更操作对应的数据表的旧统计信息,并收集与所述字段变更操作对应的数据表的新统计信息;若所述表结构变更操作是表分区操作,当所述表分区操作为新增分区操作,则收集与所述新增分区操作关联的分区的新统计信息,当所述表分区操作为合并分区操作或拆分分区操作,则备份与所述合并分区操作或拆分分区操作关联的分区的旧统计信息,并收集与所述合并分区操作或拆分分区操作关联的分区的新统计信息。
9.根据权利要求8所述的统计信息收集装置,其特征在于,所述装置还包括:
确定模块,用于根据所述操作类型为表操作的变更操作记录中包含的变更操作确定DML对象;
判断模块,用于根据记录DML执行情况的文件判断属于所述DML对象的DML数量是否达到预设数值;
启用模块,用于若所述数据库变更操作数据中属于所述DML对象的DML数量达到所述预设数值,则根据预设的配置项判断是否启用新统计信息,若是,则启用收集的新统计信息,若否,则恢复备份的旧统计信息。
10.根据权利要求6所述的统计信息收集装置,其特征在于,所述操作类型包括索引操作;
所述收集模块,包括:
新建索引收集单元,用于若所述操作类型为索引操作的变更操作记录中包含新建索引操作,则收集与所述新建索引操作对应的索引的新统计信息;
和/或
重建索引收集单元,用于若所述操作类型为索引操作的变更操作记录中包含重建索引操作,则备份与所述重建索引操作对应的索引的旧统计信息,并收集与所述重建索引操作对应的索引的新统计信息后,恢复所述旧统计信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611003385.2A CN106776704B (zh) | 2016-11-14 | 2016-11-14 | 统计信息收集方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611003385.2A CN106776704B (zh) | 2016-11-14 | 2016-11-14 | 统计信息收集方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106776704A CN106776704A (zh) | 2017-05-31 |
CN106776704B true CN106776704B (zh) | 2020-03-06 |
Family
ID=58968410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611003385.2A Active CN106776704B (zh) | 2016-11-14 | 2016-11-14 | 统计信息收集方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106776704B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255925B (zh) * | 2017-11-10 | 2021-12-10 | 平安普惠企业管理有限公司 | 一种数据表结构变更情况的显示方法及其终端 |
CN109614398A (zh) * | 2018-11-02 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 数据库中表结构的变更方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739439A (zh) * | 2009-11-30 | 2010-06-16 | 中兴通讯股份有限公司 | 一种基于模板的统计对象动态定制方法和*** |
CN102346784A (zh) * | 2011-11-14 | 2012-02-08 | 苏州阔地网络科技有限公司 | 一种数据库备份的方法及*** |
CN102480385A (zh) * | 2010-11-26 | 2012-05-30 | 北京启明星辰信息技术股份有限公司 | 数据库安全保护方法和装置 |
CN103345470A (zh) * | 2013-05-31 | 2013-10-09 | 深圳市沃信科技有限公司 | 一种数据库容灾方法、***及服务器 |
CN105069134A (zh) * | 2015-08-18 | 2015-11-18 | 上海新炬网络信息技术有限公司 | 一种Oracle统计信息自动收集方法 |
CN105069096A (zh) * | 2015-08-06 | 2015-11-18 | 厦门二五八集团有限公司 | 一种自定义表单的架构方法及架构*** |
CN105117457A (zh) * | 2015-08-20 | 2015-12-02 | 中国人民解放军国防科学技术大学 | 一种虚拟资产保全***的索引重建方法 |
-
2016
- 2016-11-14 CN CN201611003385.2A patent/CN106776704B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739439A (zh) * | 2009-11-30 | 2010-06-16 | 中兴通讯股份有限公司 | 一种基于模板的统计对象动态定制方法和*** |
CN102480385A (zh) * | 2010-11-26 | 2012-05-30 | 北京启明星辰信息技术股份有限公司 | 数据库安全保护方法和装置 |
CN102346784A (zh) * | 2011-11-14 | 2012-02-08 | 苏州阔地网络科技有限公司 | 一种数据库备份的方法及*** |
CN103345470A (zh) * | 2013-05-31 | 2013-10-09 | 深圳市沃信科技有限公司 | 一种数据库容灾方法、***及服务器 |
CN105069096A (zh) * | 2015-08-06 | 2015-11-18 | 厦门二五八集团有限公司 | 一种自定义表单的架构方法及架构*** |
CN105069134A (zh) * | 2015-08-18 | 2015-11-18 | 上海新炬网络信息技术有限公司 | 一种Oracle统计信息自动收集方法 |
CN105117457A (zh) * | 2015-08-20 | 2015-12-02 | 中国人民解放军国防科学技术大学 | 一种虚拟资产保全***的索引重建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106776704A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11392582B2 (en) | Automatic partitioning | |
CN111046034B (zh) | 管理内存数据及在内存中维护数据的方法和*** | |
EP3117347B1 (en) | Systems and methods for rapid data analysis | |
CN110292775B (zh) | 获取差异数据的方法及装置 | |
US10664374B2 (en) | Event analysis device, event analysis system, event analysis method, and event analysis program | |
CN110569214B (zh) | 用于日志文件的索引构建方法、装置及电子设备 | |
CN109522290B (zh) | 一种HBase数据块恢复及数据记录提取方法 | |
WO2017096892A1 (zh) | 索引构建方法、查询方法及对应装置、设备、计算机存储介质 | |
CN107797916B (zh) | Ddl语句审核方法和装置 | |
CN107301214B (zh) | 在hive中数据迁移方法、装置及终端设备 | |
US9305076B1 (en) | Flattening a cluster hierarchy tree to filter documents | |
CN110275889B (zh) | 一种适用于机器学习的特征处理方法及装置 | |
CN105556474A (zh) | 管理数据操作的存储器和存储空间 | |
CN110134663B (zh) | 组织结构数据处理方法、装置、电子设备 | |
Cheng et al. | Efficient event correlation over distributed systems | |
CN113760891B (zh) | 一种数据表的生成方法、装置、设备和存储介质 | |
CN106776704B (zh) | 统计信息收集方法和装置 | |
CN109344163B (zh) | 一种数据校验方法、装置和计算机可读介质 | |
CN112948504B (zh) | 数据采集方法、装置、计算机设备和存储介质 | |
CN111984625B (zh) | 数据库负载特征处理方法、装置、介质和电子设备 | |
CN114791927A (zh) | 一种数据分析方法和装置 | |
CN104199924B (zh) | 选择具有快照关系的网络表格的方法及装置 | |
CN107330031B (zh) | 一种数据存储的方法、装置及电子设备 | |
CN110851437A (zh) | 一种存储方法、装置及设备 | |
CN114707953A (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 |