CN112783900A - 数据库管理方法、装置、设备及存储介质 - Google Patents

数据库管理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112783900A
CN112783900A CN202110213464.0A CN202110213464A CN112783900A CN 112783900 A CN112783900 A CN 112783900A CN 202110213464 A CN202110213464 A CN 202110213464A CN 112783900 A CN112783900 A CN 112783900A
Authority
CN
China
Prior art keywords
target
information
candidate
database table
table structure
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
CN202110213464.0A
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.)
Bigo Technology Pte Ltd
Original Assignee
Bigo Technology Pte 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 Bigo Technology Pte Ltd filed Critical Bigo Technology Pte Ltd
Priority to CN202110213464.0A priority Critical patent/CN112783900A/zh
Publication of CN112783900A publication Critical patent/CN112783900A/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/2282Tablespace storage structures; Management thereof
    • 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/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • 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/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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • 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/2455Query execution
    • G06F16/24553Query execution of query operations

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)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了数据库管理方法、装置、设备及存储介质。其中,该方法包括:获取在原始数据库表中执行目标查询语句时对应的执行信息;根据执行信息对原始数据库表的原始表结构进行调整,得到目标表结构;根据目标表结构和原始数据库表中的数据生成目标数据库表,其中,在目标数据库表执行目标查询语句时的第一查询性能指标信息优于在原始数据库表中执行目标查询语句时的第二查询性能指标信息。本发明实施例提供的技术方案,针对目标查询语句,根据执行信息对原始数据库表的表结构进行调整,使得在新生成的目标数据库表中再次执行时可以得到更好的查询性能,有利于提高业务处理效率。

Description

数据库管理方法、装置、设备及存储介质
技术领域
本发明实施例涉及数据库技术领域,尤其涉及数据库管理方法、装置、设备及存储介质。
背景技术
随着数据库技术的广泛应用以及业务数据的不断增长,对数据库的管理呈现很多不足。对于一些使用场景,数据库管理人员或数据库使用人员等工作人员经常遇到根据业务需求定制各种类型或策略的表结构,表结构的多样化使得针对数据库表的查询性能难以保证,需要进行优化。
发明内容
本发明实施例提供了数据库管理方法、装置、设备及存储介质,可以优化现有的数据库管理方法。
第一方面,本发明实施例提供了一种数据库管理方法,该方法包括:
获取在原始数据库表中执行目标查询语句时对应的执行信息;
根据所述执行信息对所述原始数据库表的原始表结构进行调整,得到目标表结构;
根据所述目标表结构和所述原始数据库表中的数据生成目标数据库表,其中,在所述目标数据库表执行所述目标查询语句时的第一查询性能指标信息优于在所述原始数据库表中执行所述目标查询语句时的第二查询性能指标信息。
第二方面,本发明实施例提供了一种数据库管理装置,该装置包括:
执行信息获取模块,用于获取在原始数据库表中执行目标查询语句时对应的执行信息;
目标表结构确定模块,用于根据所述执行信息对所述原始数据库表的原始表结构进行调整,得到目标表结构;
目标数据库表生成模块,用于根据所述目标表结构和所述原始数据库表中的数据生成目标数据库表,其中,在所述目标数据库表执行所述目标查询语句时的第一查询性能指标信息优于在所述原始数据库表中执行所述目标查询语句时的第二查询性能指标信息。
第三方面,本发明实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例提供的数据库管理方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例提供的数据库管理方法。
本发明实施例中提供的数据库管理方案,获取在原始数据库表中执行目标查询语句时对应的执行信息,根据执行信息对原始数据库表的原始表结构进行调整,得到目标表结构,根据目标表结构和原始数据库表中的数据生成目标数据库表,其中,在目标数据库表执行目标查询语句时的第一查询性能指标信息优于在原始数据库表中执行目标查询语句时的第二查询性能指标信息。通过采用上述技术方案,针对目标查询语句,根据执行信息对原始数据库表的表结构进行调整,使得在新生成的目标数据库表中再次执行时可以得到更好的查询性能,有利于提高业务处理效率。
附图说明
图1为本发明实施例提供的一种数据库管理方法的流程示意图;
图2为本发明实施例提供的又一种数据库管理方法的流程示意图;
图3为本发明实施例提供的另一种数据库管理方法的流程示意图;
图4为本发明实施例提供的一种数据库管理装置的结构框图;
图5为本发明实施例提供的一种计算机设备的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
图1为本发明实施例提供的一种数据库管理方法的流程示意图,该方法可以由数据库管理装置执行,其中该装置可由软件和/或硬件实现,一般可集成在计算机设备中。
本发明实施例中,对数据库的具体类型不做限定,例如可以是关系型数据库管理系统MySQL、分布式数据库TiDB、SQL Server、Oracle、DB2、Foxpro以及Access等等,下文以MySQL为例进行说明。数据库的使用场景也不做限定,可以是在线场景,也可以是离线场景。
如图1所示,该方法包括:
步骤101、获取在原始数据库表中执行目标查询语句时对应的执行信息。
示例性的,在数据库中可以存在多个数据表,数据库中的数据表简称数据库表。原始数据库表可以包括数据库中的任意一个或多个数据库表,下面针对其中一个原始数据库表进行后续说明。原始数据库表可以是数据库管理人员或数据库使用人员等相关人员(以下简称用户)根据业务需求定制的数据库表,其中一般存储了大量的业务数据,在需要对业务数据进行查询或统计等操作时,查询性能尤为重要,尤其是随着数据量的积累会导致数据库使用性能逐渐下降,例如当全表数据行数达到300万行以上时,对查询性能会有很大的考验。原始数据库表的表结构可以是建表时采用的初始表结构,也可以是在初始表结构基础上进行过优化的表结构,具体不做限定,也就是说,本发明实施例可以在数据库的使用过程中,针对同一个表名的数据库表的表结构进行一次或多次优化,进而可以不断地优化针对该数据库表的查询性能。
示例性的,目标查询语句可以理解为对原始数据库表的表结构进行优化时所依据的查询语句,也即需要有针对性地进行优化的查询语句,需要说明的是,这里的优化的目标对象为原始数据库表,而不是目标查询语句本身。查询语句一般为结构化查询语言(Structured Query Language,SQL)语句。原始数据库表一般是符合对应的业务需求的,在针对原始数据库表进行查询等操作时一般也会根据业务特点制定相应的查询语句,可以根据用户使用过的查询语句来确定目标查询语句,具体的确定方式不做限定。示例性的,可以获取用户使用过的历史查询语句,对历史查询语句进行分析,分析过程例如可以包括统计出最常用的查询维度字段等,进而确定目标查询语句。
本发明实施例中,在原始数据库表中执行目标查询语句时对应的执行信息可以包含对执行过程产生影响或能够对执行结果进行表征的相关信息,例如可包括原始数据库表自身的信息、目标查询语句的信息、执行过程信息和执行结果信息等,上述信息一般可以从数据库中的执行日志中获取。示例性的,执行信息可以包括以下至少一种:表结构信息、查询维度字段信息、查询语句执行计划信息、执行时长信息以及字段类型推荐信息。当然,还可以根据实际需求设置更多类型的执行信息,具体不做限定。
具体的,表结构信息可以包含数据库表的名称、字段数目、字段名称、字段存储类型、字段存储长度、主键、外键以及索引等与表结构相关的信息,具体表现形式不做限定。对于原始数据库表来说,在原始数据库表中执行目标查询语句时对应的执行信息中包含的表结构信息可以称为原始表结构信息。
查询维度字段信息可以包含查询条件中的字段信息,一般处于查询语句中的哪里(where)字句中,具体可能会因数据库类型的不同而不同,可视数据库的查询语句规则而定。查询维度字段可以是一个或多个,对于很多业务场景来说,一般为多个。
查询语句执行计划信息可理解为执行一条查询语句时以最快速度以及最低消耗获取出所需数据的一个执行过程的相关信息。不同数据库中的查询语句执行计划信息可能存在差异,可以根据实际情况选择需要获取的执行计划信息。以MySQL为例,数据库引擎在执行SQL语句时,会先解析生成一份其认为的最优执行计划,然后再按照这份执行计划去执行语句命令,这里的最优执行计划中的内容可以理解为本发明实施例中的查询语句执行计划信息,可以利用解释(explain)语法来查看该查询语句的执行计划。对于原始数据库表来说,在原始数据库表中执行目标查询语句时对应的执行信息中包含的查询语句执行计划信息可以称为原始查询语句执行计划信息。
执行时长信息可理解为在数据库表中执行查询语句所消耗的时长,可以从执行日志中获取。对于原始数据库表来说,在原始数据库表中执行目标查询语句时对应的执行信息中包含的执行时长信息可以称为原始执行时长信息,也即在原始数据库表中执行目标查询语句时所消耗的时长。
字段类型推荐信息可包含数据库对数据库表的表结构进行分析后得出的字段存储类型的推荐信息以及字段存储长度的推荐信息。不同数据库的分析方式以及分析结果等可能不同,以MySQL为例,其分析表结构所用的语法可以是select*from'.$imitateTableName.'procedure analyse(1,256)。
步骤102、根据所述执行信息对所述原始数据库表的原始表结构进行调整,得到目标表结构。
示例性的,可以参考执行信息中的内容来对原始数据库表的原始表结构进行优化调整,调整目标是使得调整后得到的目标表结构更加适合执行目标查询语句,也即在根据目标表结构生成的目标数据库表中执行目标查询语句时能够获得更好的查询性能。本发明实例对具体的调整方式不做限定,例如可以调整索引、调整字段存储类型以及调整字段存储长度等,当存在多个可调整的项目(例如同时包括索引和字段存储类型)时,调整的先后顺序不做限定。
步骤103、根据所述目标表结构和所述原始数据库表中的数据生成目标数据库表,其中,在所述目标数据库表执行所述目标查询语句时的第一查询性能指标信息优于在所述原始数据库表中执行所述目标查询语句时的第二查询性能指标信息。
示例性的,可以根据目标表结构新建一个数据库表,然后将原始数据库表中的数据迁移至新建的数据库表中,得到目标数据库表。随后,可以删除原始数据库表,当然,在不考虑存储空间的情况下,也可以保留原始数据库表作为备份。
查询性能指标信息可以用于表示查询性能的好坏,具体指标可以根据实际情况设置,例如执行时长等,本发明实施例不做限定。在对原始表结构进行调整时,调整目标是在根据目标表结构生成的目标数据库表中执行目标查询语句时能够获得更好的查询性能,因此,在根据目标表结构生成目标数据库表后,在目标数据库表执行目标查询语句时的第一查询性能指标信息优于在原始数据库表中执行目标查询语句时的第二查询性能指标信息。
本发明实施例中提供的数据库管理方法,获取在原始数据库表中执行目标查询语句时对应的执行信息,根据执行信息对原始数据库表的原始表结构进行调整,得到目标表结构,根据目标表结构和原始数据库表中的数据生成目标数据库表,其中,在目标数据库表执行目标查询语句时的第一查询性能指标信息优于在原始数据库表中执行目标查询语句时的第二查询性能指标信息。通过采用上述技术方案,针对目标查询语句,根据执行信息对原始数据库表的表结构进行调整,使得在新生成的目标数据库表中再次执行时可以得到更好的查询性能,有利于提高业务处理效率。
在一些实施例中,所述执行信息中包含原始表结构信息;所述根据所述执行信息对所述原始数据库表的原始表结构进行调整,得到目标表结构,包括:根据所述执行信息中的所述原始表结构信息确定候选表结构;根据所述候选表结构生成候选数据库表;确定在所述候选数据库表执行所述目标查询语句时的第三查询性能指标信息;当确定所述第三查询性能指标信息满足预设查询性能要求时,将对应的候选表结构确定为目标候选表结构,并根据目标候选表结构确定目标表结构。这样设置的好处在于,通过构建真实的候选数据库表来进行目标查询语句的执行,可以根据执行情况更准确地确定满足要求的候选表结构,进而确定目标表结构。这里的对应的候选表结构可以理解为目标候选表结构,在根据目标候选表结构执行目标查询语句时的第三查询性能指标信息满足预设查询性能要求。
示例性的,可以采用建表语句(如CREATE TABLE语句)来表征数据库表的表结构。所述执行信息中包含原始表结构信息,可以包含数据库表的名称等各项具体项目的信息,也可以包含建表语句。根据原始表结构信息确定候选表结构的过程可以是对与原始表结构信息对应的原始建表语句进行修改,得到候选表结构。需要说明的是,候选表结构可以是一个或多个,在对原始建表语句进行修改时,修改不同项目或者同一项目的修改程度不同均可视为不同修改,进而得到不同的候选表结构。
在得到候选表结构后,根据候选表结构生成候选数据库表,具体可以是根据候选表结构新建一个数据库表,并在该数据库表中填入数据,得到候选数据库表。其中,所填入的数据可以是原始数据库表中的部分或全部数据,还可以是其他来源的数据,如预先设定的用于测试的数据等,具体不做限定。
在得到候选数据库表后,可以确定在候选数据库表执行目标查询语句时的第三查询性能指标信息,进而判断对应的候选表结构是否能够用于确定目标表结构。若首次修改得到的候选表结构所对应的第三查询性能指标信息能够满足预设查询性能要求,则可根据该首次修改得到的候选表结构确定目标表结构,若不满足预设查询性能要求,则可以继续修改,得到新的候选表结构,并继续进行后续的关于预设查询性能要求的判定,直至得到能够满足预设查询性能要求的候选表结构。此外,也可以先确定多个候选表结构,然后筛选出来能够满足预设查询性能要求的一个或多个目标候选表结构,再从中选取最优的目标候选表结构用于确定目标表结构。
示例性的,预设查询性能要求可以根据查询性能指标来确定,例如设置查询性能指标阈值等,具体数值可以根据实际情况设置,具体不做限定。
在一些实施例中,所述根据所述执行信息中的所述原始表结构信息确定候选表结构,包括:根据所述执行信息中的所述原始表结构信息确定候选表结构,其中,所述候选表结构中的索引与所述原始表结构中的索引不同。索引可以理解为一种对数据库表中一列或多列的值进行排序的一种存储结构,其作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容,索引提供指向存储在表的指定列中的数据值的指针,然后根据指定的排序顺序对这些指针排序,数据库可以使用索引找到特定值,然后顺指针找到包含该值的行,这样可以使对应于表的SQL语句执行得更快,可快速访问数据库表中的特定信息,由此可见,索引结构的不同会直接影响到查询语句的执行性能。本发明实施例上述优化的好处在于,可以对表结构中的索引进行优化,有利于提高查询效率。
在一些实施例中,所述候选表结构采用的存储引擎类型为目标引擎类型。这样设置的好处在于,不同类型的存储引擎也可能会对查询性能产生影响,可以根据当前具体的应用场景来确定合适的引擎类型。例如,获取当前应用场景类型,根据当前应用场景类型确定对应的目标引擎类型。以离线场景或其他需要考虑读写分离的应用场景为例,其对应的目标引擎类型为innodb类型。示例性的,若原始表结构对应的存储引擎类型不是目标引擎类型,则自适应调整为目标引擎类型。此外,由于不同的存储引擎类型所支持的索引类型可能不同,因此,在修改引擎类型时,也可能使得候选表结构中的索引与原始表结构中的索引不同。
在一些实施例中,所述执行信息中还包含查询维度字段信息;所述根据所述原始表结构确定候选表结构,包括:根据所述查询维度字段信息确定查询维度字段数量;当所述查询维度字段数量超过预设字段数量阈值时,对所述原始表结构中的索引中的主键位序信息进行调整,并根据调整结果确定候选表结构。这样设置的好处在于,主键的顺序可能会对查询性能产生影响,因此通过对索引中的主键位序信息进行调整,有较大的可能性能够得到更优的表结构。预设字段数量阈值可以根据实际情况设置,一般可设置为1。在调整主键位序时,可以随机调整,或者按照一定的规则或顺序进行调整,具体不做限定。
在一些实施例中,所述确定在所述候选数据库表执行所述目标查询语句时的第三查询性能指标信息,包括:确定在所述候选数据库表执行所述目标查询语句时对应的候选执行计划信息,根据所述候选执行计划信息确定第三查询性能指标信息。其中,所述确定第三查询性能指标信息满足预设查询性能要求,包括:确定所述候选执行计划信息中的连接类型;当所述候选执行计划信息中的连接类型为第一目标类型时,确定所述第三查询性能指标信息满足预设查询性能要求。这样设置的好处在于,可以快速准确地评估候选数据库表对应的查询性能是否满足要求。需要说明的是,此处的候选执行计划中的“候选”并非指该执行计划是候选的,而是指与候选数据库表对应的执行计划。
示例性的,以MySQL为例,执行计划中的连接类型(type)的取值可以有多种,包括system、const、eq_ref、ref、range、index和ALL,对应的性能从优到差,也即ALL表示性能最差。其中,system表示表只有一行记录,相当于系统表;const表示通过索引一次就找到,只匹配一行数据;eq_ref表示唯一性索引扫描,对于每个索引键,表中只有一条记录与之匹配;ref表示非唯一性索引扫描,返回匹配某个单独值的所有行;range表示只检索给定范围的行,使用一个索引来选择行;index表示只遍历索引树;ALL表示全表扫描。对于很多业务场景来说,数据库表一般比较庞大,出现前四种取值的情况非常少,因此,上述第一目标类型可以是range和index。也即,候选执行计划信息中的连接类型为range或index时,确定第三查询性能指标信息满足预设查询性能要求。需要说明的是,为了避免可能出现前四种取值的情况,也可以将第一目标类型设置为除ALL之外的所有类型。可选的,此处还可以将候选执行计划信息中的连接类型与原始查询语句执行计划信息中的原始连接类型进行比较,当候选执行计划信息中的连接类型为第一目标类型,且对应的性能高于或等于原始连接类型的性能时,确定所述第三查询性能指标信息满足预设查询性能要求。
在一些实施例中,所述执行信息中还包含原始执行时长信息;所述确定在所述候选数据库表执行所述目标查询语句时的第三查询性能指标信息,包括:确定在所述候选数据库表执行所述目标查询语句时对应的候选执行时长,当所述候选执行时长小于所述原始执行时长时,确定所述第三查询性能指标信息满足预设查询性能要求。这样设置的好处在于,执行时长可以表征执行效率,是重要的查询性能指标,因此,本发明实施例考虑候选执行时长是否小于原始执行时长,若小于,则说明执行效率有所提升,表结构得到了优化。
在一些实施例中,还可以将执行时长的判定和连接类型的判定结合起来。示例性的,所述根据所述候选执行计划信息确定第三查询性能指标信息,包括:确定在所述候选数据库表执行所述目标查询语句时对应的候选执行时长;根据所述候选执行计划信息和所述候选执行时长确定第三查询性能指标信息。所述当所述候选执行计划信息中的连接类型为第一目标类型时,确定所述第三查询性能指标信息满足预设查询性能要求,包括:当所述候选执行计划信息中的连接类型为第一目标类型,且所述候选执行时长小于所述原始执行时长时,确定所述第三查询性能指标信息满足预设查询性能要求。这样设置的好处在于,从双重维度对查询性能指标进行判定,有利于得到更加合理的目标表结构。
可选的,一些实施例中,也可以先进行执行时长的判定,再进行连接类型的判定。例如,所述确定第三查询性能指标信息满足预设查询性能要求,包括:当所述候选执行时长小于所述原始执行时长信息时,确定所述候选执行计划信息中的连接类型;当所述候选执行计划信息中的连接类型为第一目标类型时,确定所述第三查询性能指标信息满足预设查询性能要求。在实际应用时,可根据时长判定速度和连接类型判定速度等方面综合考虑选择合适的预设查询性能要求判定规则。
在一些实施例中,所述执行信息中还包括字段类型推荐信息;所述根据对应的候选表结构确定目标表结构,包括:根据所述字段类型推荐信息调整目标候选表结构中的字段存储类型和字段存储长度,得到目标表结构。这样设置的好处在于,能够充分利用数据库自身的分析推荐功能来优化表结构中的字段存储类型和字段存储长度,得到更加合理的表结构。示例性的,可以直接将目标候选表结构中的字段存储类型和字段存储长度调整为与字段类型推荐信息中相应的推荐字段存储类型和推荐字段存储长度一致,也可以在推荐字段存储类型和推荐字段存储长度基础上进行进一步调整,具体不做限定。
在一些实施例中,所述根据所述字段类型推荐信息调整目标候选表结构中的字段存储类型和字段存储长度,包括:将目标候选表结构中的字段存储类型调整为所述字段类型推荐信息中的推荐字段存储类型;将所述目标候选表结构中的字段存储长度调整为所述字段类型推荐信息中的推荐字段存储长度与预设长度值的和。这样设置的好处在于,可以更加合理地确定目标表结构。例如,目标候选表结构中包含统计日期(stat_day)字段,其存储类型与原始表结构中的存储类型一致,均为可变长度字符串(varchar)数据类型,数据库经过分析后,推荐的字段存储类型为日期类型(例如“2019-01-01”),则将目标候选表结构中统计日期字段的字段存储类型调整为日期类型。预设长度值的具体数值可以根据实际情况设定,可以为负整数、0或正整数等,一般为正整数,如2。例如,目标候选表结构中包含的某个字段的字段存储长度为15,而推荐字段存储长度为10,可以将该字段的字段存储长度调整为10(预设长度值为0)或12(预设长度值为2)。预设长度值为正整数的好处在于,预留一定的存储长度空间,防止后期出现更高的存储长度需求时对数据库进行过多修改。
在一些实施例中,所述根据所述候选表结构生成候选数据库表,包括:根据所述候选表结构新建第一数据库表,并将所述原始数据库表中的部分数据复制到所述第一数据库表中,得到候选数据库表。这样设置的好处在于,候选数据库表可以理解为用于进行查询性能评估测试的数据库表,在构建用于优化测试的候选数据库表时,采用原始数据库表中的数据,可以提高测试真实性,使得测试结果更加准确,采用原始数据库表中的部分数据而非全部数据的原因在于可以提高测试效率,快速找到目标候选表结构。其中,部分数据的具体数据量可以根据实际需求设置,例如可以是预设固定数据量,也可以根据原始数据库表中的数据总量来确定,例如预设比例值与数据总量的乘积,预设比例值可以自由设置,例如可以是四分之一等。
在一些实施例中,所述根据所述目标表结构和所述原始数据库表中的数据生成目标数据库表,包括:根据所述目标表结构新建第二数据库表;互换所述第二数据库表和所述原始数据库的表名;将当前第二数据库表中的数据全量迁移至当前原始数据库表中,得到目标数据库表。这样设置的好处在于,可以快速生成目标数据库表,且表名与原始数据库表一致,用户可以无感知地在新的经过表结构优化的数据库表中采用目标查询语句进行后续的查询,并得到更好的查询性能。其中,由于第二数据库表和原始数据库进行了表名互换,因此,互换表名后的当前第二数据库表中的数据是原来的原始数据库表中的数据,而互换表名后的当前原始数据库表中没有数据,将当前第二数据库表中的数据全量迁移至当前原始数据库表中,便得到了可以用于后续查询的目标数据库表。
图2为本发明实施例提供的又一种数据库管理方法的流程示意图,示例性的,该方法可适用于MySQL数据库的离线场景,如图2所示,该方法可包括:
步骤201、获取在原始数据库表中执行目标查询语句时对应的执行信息。
其中,所述执行信息中包括原始表结构信息、查询维度字段信息、原始执行时长、字段类型推荐信息、以及执行计划信息。
示例性的,可以根据原始执行时长和执行计划信息等来判断原始数据库表的查询性能是否已经满足预设查询性能要求,若已满足,则可以不进行后续的优化,若不满足,则执行步骤202。步骤201的执行可以在用户操作下触发,也可以在满足预设触发条件时自动触发。示例性的,可以预先设置触发时间(可理解为数据库维护时间),例如在凌晨3点,在到达触发时间时自动触发执行步骤201,实现数据库的自动化维护管理。
步骤202、根据执行信息中的原始表结构信息确定候选表结构。
示例性的,可以先判断原始表结构所采用的存储引擎类型是否为innodb类型,若不是,则自适应调整为innodb类型,也即候选表结构的存储引擎类型为innodb类型。
当查询维度字段数量超过1时,对原始表结构中的索引中的主键位序信息进行调整,并根据调整结果确定候选表结构,调整方式可以是随机调整。当查询维度字段数量为1时,则可直接跳转至执行步骤208,进行表结构中的字段存储类型和字段存储长度的优化。
步骤203、根据候选表结构新建第一数据库表,并将原始数据库表中的部分数据复制到第一数据库表中,得到候选数据库表。
步骤204、确定在候选数据库表执行目标查询语句时对应的候选执行计划信息,并确定候选执行计划信息中的连接类型,确定在候选数据库表执行目标查询语句时对应的候选执行时长。
步骤205、判断连接类型是否为第一目标类型,若是,则执行步骤206;否则,执行步骤202。
在确定连接类型不是第一目标类型时,说明查询性能较差,需要生成新的候选表结构进行后面的测试。需要说明的是,可以记录曾经生成过的候选表结构,在执行步骤202时,自动生成不同的新的候选表结构,若已穷举所有可能的候选表结构,则可跳转到执行步骤208,进行表结构中的字段存储类型和字段存储长度的优化。
步骤206、判断候选执行时长是否小于原始执行时长,若是,则执行步骤207;否则,返回执行步骤202。
示例性的,为了提升优化效果,还可以设置更加严格的判定条件,例如,计算原始执行时长和候选执行时长的差值,当所述差值大于预设差值阈值时,确定第三查询性能指标信息满足预设查询性能要求。
步骤207、确定第三查询性能指标信息满足预设查询性能要求,将对应的候选表结构确定为目标候选表结构。
步骤208、将目标候选表结构中的字段存储类型调整为字段类型推荐信息中的推荐字段存储类型,并将目标候选表结构中的字段存储长度调整为字段类型推荐信息中的推荐字段存储长度与预设长度值的和。
示例性的,预设长度值为2。
步骤209、根据目标表结构新建第二数据库表,互换第二数据库表和原始数据库的表名,将当前第二数据库表中的数据全量迁移至当前原始数据库表中,得到目标数据库表。
本发明实施例提供的数据库管理方法,针对目标查询语句,获取在原始数据库表中执行目标查询语句时对应的多个维度的执行信息,在表结构的存储引擎、索引、字段存储类型和字段存储长度等方面进行优化,并基于执行时长以及执行计划中的连接类型对查询性能进行量化,进而确定更加合理的目标表结构,并根据目标表结构生成新的目标数据库表,使得在新生成的目标数据库表中再次执行时可以提高目标查询语句的执行效率,得到较佳的查询性能,有利于提高业务处理效率。
在上述各可选实施例基础上,还可对数据库表进行分区维护管理。示例性的,在一些实施例中,还可包括:获取第三数据库表对应的分区配置信息,其中,所述分区配置信息中包括数据量信息和分区策略信息;根据所述分区配置信息和预设分区管理规则对第三数据库表进行分区管理,其中,所述预设分区管理规则基于数据量和分区策略设定。在数据库的使用过程中,随着时间的推移,数据量越来越大,数据库分区可以减少数据读写的总量以缩减响应时间,但在分区后,若不对陈旧数据进行及时有效处理,仍然会影响数据库的性能。现有技术中一般只能预估溢出和清理的时间并等到数据库的空闲时段,登录数据库以手动的方式添加和删除表的数据以达到管理的目的,且数据使用性能会随着数据量的积累逐渐下降,特别是在全表数据行数达到300万行以上的表,而通常各个表的策略也并不相同,这种人为的管理极大的增加了运维人力成本,而且对生产环境会引入各种未知风险。本发明实施例上述优化的好处在于,可以根据分区配置信息对数据库表进行自动化的分区维护管理,降低人工管理所带来的运维人力成本,且能够避免在生成环境引入因人工管理所带来的各种未知风险,如误操作等。
示例性的,第三数据库表可以是数据库中任意的数据库表,可以是上文所述的原始数据库表,也可以是上文所述的目标数据库表。数据量信息可以包含第三数据库表的数据总量,可以从数据库中直接读取。分区策略信息可以根据用户输入的分区设置信息来确定,一般可包括分区键和分区数量等。预设分区管理规则可以根据实际需求进行设定。
在一些实施例中,所述根据所述分区配置信息和预设分区管理规则对第三数据库表进行分区管理,包括:根据所述分区配置信息和预设分区管理规则确定待删除分区或待增加分区;删除所述待删除分区或增加所述待增加分区。这样设置的好处在于,可以自动进行分区的删除,进行过期数据的淘汰,节省存储空间,还可以自动进行分区的增加,防止新数据存入时出现问题。
图3为本发明实施例提供的另一种数据库管理方法的流程示意图,如图3所示,该方法可包括:
步骤301、获取在原始数据库表中执行目标查询语句时对应的执行信息。
步骤302、根据执行信息对原始数据库表的原始表结构进行调整,得到目标表结构。
步骤303、根据目标表结构和原始数据库表中的数据生成目标数据库表。
其中,在所述目标数据库表执行所述目标查询语句时的第一查询性能指标信息优于在所述原始数据库表中执行所述目标查询语句时的第二查询性能指标信息。
步骤304、获取第三数据库表对应的分区配置信息,其中,所述分区配置信息中包括数据量信息和分区策略信息。
示例性的,可以增设分区管理配置功能,例如,向用户提供分区管理配置页面,并接收用户基于分区管理配置页面输入的分区设置信息。此外,还可接收用户基于分区管理配置页面输入的其他信息,如分区托管信息、分区维护时间以及分区维护方式等等。在接收到用户输入的各种信息后,可以对输入信息的合法性进行验证。例如,可依次校验配置语法是否合法、校验托管的分区表对象是否合法、校验分区表的分区类型是否合法、校验分区的维护时间是否合法、校验分区的运维的方式是否合法、以及校验托管的分区表的分区策略是否合法等,在上述校验过程中,若校验结果为合法,则进行下一项的校验,若不合法,则返回报错。最后,校验托管的分区表是否已经托管,如未托管则根据上述输入信息生成配置表,如已托管,则备份之前的分区配置信息,并根据上述输入信息生成新的配置表。本步骤中,获取第三数据库表对应的分区配置信息时,可以从当前最新的配置表中获取第三数据库表对应的分区配置信息。
可选的,分区配置信息还可包括其他信息,如属主等,若需要进行分区管理的数据库表已经进行了分区,则还可获取分区表结构信息,包括如分区类型等。
步骤305、根据分区配置信息和预设分区管理规则对第三数据库表进行分区管理,其中,预设分区管理规则基于数据量和分区策略设定。
其中,第三数据库表可以是目标数据库表,也可以是其他数据库表。
示例性的,当配置表中包含分区维护时间时,可以在到达分区维护时间时,自动触发分区管理相关操作。
示例性的,分区管理主要可以包括分区的增加和删除,本步骤中,可以根据分区配置信息和预设分区管理规则确定待删除分区或待增加分区,并删除待删除分区或增加待增加分区。
可选的,若第三数据库表之前未进行分区,则可根据分区配置信息对第三数据库表进行分区,再根据分区配置信息和预设分区管理规则进行分区删除或分区增加等管理。若第三数据库表已进行分区,可直接根据分区配置信息和预设分区管理规则进行分区删除或分区增加等管理。另外,由于不同数据库表的分区规则可能会存在差异,例如分区键字段类型不同,为了便于后续管理,若第三数据库表已进行分区,且分区规则不同,可根据分区配置信息重新对第三数据库表进行分区,以达到统一的规范化分区管理。另外,若已采用本发明实施例提供的数据库管理方案进行分区,则在后续分区管理过程中,不需要进行再次重新分区,可直接进行分区的增删等管理操作。
示例性的,在进行分区时,可以根据第三数据库的数据量信息采用不同的数据分区方式。以时间为例,根据数据量的大小可以选择按天、按周或按月分区。
需要说明的是,数据库的版本不同可能会导致分区操作存在差异,本发明实施例中,可以根据分区表的类型执行相适应的分区操作。例如,针对MySQL中的range(范围)分区和range columns(范围列)分区可以分别执行不同的分区操作。
以删除分区为例,可以遍历分区表(第三数据库表经过分区处理后的表)的所有分区的数据,获取当前拥有数据的最大分区,根据分区配置信息和预设分区管理规则判断是否需要删除分区,若是,则确定待删除分区(可以是一个或多个),逐个删除待删除分区,继续判断是否还需要删除分区,若是再次确定待删除分区直至不存在还需要删除的分区。例如,根据分区配置信息确定需要有6个分区,但是当前的分区表中拥有数据的最大分区为第7个分区,则说明当前存在1个分区的数据是比较陈旧的,需要删除,则将最早的一个分区确定为待删除分区,并进行删除。
以增加分区为例,根据分区配置信息和预设分区管理规则判断判断是否需要添加分区,若是,则根据当前最大分区和偏移量计算出待增加分区的分区名和分区表达式,根据分区名和分区表达式,生成添加分区的SQL语句,执行添加分区,继续判断是否还需要添加分区,若是重复上述步骤,直至不存在还需要添加分区。其中,还可设置分区表的分区数量上限值,当达到上限值时,不再添加分区。例如,根据分区配置信息确定分区数量上限值为8,当前有6个分区,且当前的分区表中拥有数据的最大分区的数据量已经达到预设数据量阈值,则说明当前分区数即将无法满足新增数据的存储需求,需要增加分区,则在当前最大分区基础上增加相邻的分区,得到第7个分区。
本发明实施例提供的数据库管理方法,不仅能够针对目标查询语句对数据库中的数据库表的表结构进行优化,还能够自动进行分区维护管理,不需要运维人员再手动维护,极大降低运维人员手工增删分区导致误操作的概率,最大化降低运维成本,且用户还可以根据实际需求设置分区维护时间,实现周期性定时维护,避免人工维护未及时维护的情况发生,提高维护时效性。
图4为本发明实施例提供的一种数据库管理装置的结构框图,该装置可由软件和/或硬件实现,一般可集成在计算机设备中,可通过执行数据库管理方法来进行数据库的管理。如图4所示,该装置包括:
执行信息获取模块401,用于获取在原始数据库表中执行目标查询语句时对应的执行信息;
目标表结构确定模块402,用于根据所述执行信息对所述原始数据库表的原始表结构进行调整,得到目标表结构;
目标数据库表生成模块403,用于根据所述目标表结构和所述原始数据库表中的数据生成目标数据库表,其中,在所述目标数据库表执行所述目标查询语句时的第一查询性能指标信息优于在所述原始数据库表中执行所述目标查询语句时的第二查询性能指标信息。
本发明实施例中提供的数据库管理装置,获取在原始数据库表中执行目标查询语句时对应的执行信息,根据执行信息对原始数据库表的原始表结构进行调整,得到目标表结构,根据目标表结构和原始数据库表中的数据生成目标数据库表,其中,在目标数据库表执行目标查询语句时的第一查询性能指标信息优于在原始数据库表中执行目标查询语句时的第二查询性能指标信息。通过采用上述技术方案,针对目标查询语句,根据执行信息对原始数据库表的表结构进行调整,使得在新生成的目标数据库表中再次执行时可以得到更好的查询性能,有利于提高业务处理效率。
本发明实施例提供了一种计算机设备,该计算机设备中可集成本发明实施例提供的数据库管理装置。图5为本发明实施例提供的一种计算机设备的结构框图。计算机设备500包括存储器501、处理器502及存储在存储器501上并可在处理器502上运行的计算机程序,所述处理器502执行所述计算机程序时实现本发明实施例提供的数据库管理方法。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本发明实施例提供的数据库管理方法。
上述实施例中提供的数据库管理装置、设备以及存储介质可执行本发明任意实施例所提供的数据库管理方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的数据库管理方法。
注意,上述仅为本发明的较佳实施例。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由权利要求范围决定。

Claims (15)

1.一种数据库管理方法,其特征在于,包括:
获取在原始数据库表中执行目标查询语句时对应的执行信息;
根据所述执行信息对所述原始数据库表的原始表结构进行调整,得到目标表结构;
根据所述目标表结构和所述原始数据库表中的数据生成目标数据库表,其中,在所述目标数据库表执行所述目标查询语句时的第一查询性能指标信息优于在所述原始数据库表中执行所述目标查询语句时的第二查询性能指标信息。
2.根据权利要求1所述的方法,其特征在于,所述执行信息中包含原始表结构信息;所述根据所述执行信息对所述原始数据库表的原始表结构进行调整,得到目标表结构,包括:
根据所述执行信息中的所述原始表结构信息确定候选表结构;
根据所述候选表结构生成候选数据库表;
确定在所述候选数据库表执行所述目标查询语句时的第三查询性能指标信息;
当确定所述第三查询性能指标信息满足预设查询性能要求时,将对应的候选表结构确定为目标候选表结构,并根据所述目标候选表结构确定目标表结构。
3.根据权利要求2所述的方法,其特征在于,所述根据所述执行信息中的所述原始表结构信息确定候选表结构,包括:
根据所述执行信息中的所述原始表结构信息确定候选表结构,其中,所述候选表结构中的索引与所述原始表结构中的索引不同。
4.根据权利要求3所述的方法,其特征在于,所述执行信息中还包含查询维度字段信息;所述根据所述原始表结构确定候选表结构,包括:
根据所述查询维度字段信息确定查询维度字段数量;
当所述查询维度字段数量超过预设字段数量阈值时,对所述原始表结构中的索引中的主键位序信息进行调整,并根据调整结果确定候选表结构。
5.根据权利要求4所述的方法,其特征在于,所述确定在所述候选数据库表执行所述目标查询语句时的第三查询性能指标信息,包括:
确定在所述候选数据库表执行所述目标查询语句时对应的候选执行计划信息,根据所述候选执行计划信息确定第三查询性能指标信息;
其中,所述确定第三查询性能指标信息满足预设查询性能要求,包括:
确定所述候选执行计划信息中的连接类型;
当所述候选执行计划信息中的连接类型为第一目标类型时,确定所述第三查询性能指标信息满足预设查询性能要求。
6.根据权利要求5所述的方法,其特征在于,所述执行信息中还包含原始执行时长;
所述根据所述候选执行计划信息确定第三查询性能指标信息,包括:
确定在所述候选数据库表执行所述目标查询语句时对应的候选执行时长;
根据所述候选执行计划信息和所述候选执行时长确定第三查询性能指标信息;
所述当所述候选执行计划信息中的连接类型为第一目标类型时,确定所述第三查询性能指标信息满足预设查询性能要求,包括:
当所述候选执行计划信息中的连接类型为第一目标类型,且所述候选执行时长小于所述原始执行时长时,确定所述第三查询性能指标信息满足预设查询性能要求。
7.根据权利要求6所述的方法,其特征在于,所述执行信息中还包括字段类型推荐信息;所述根据所述目标候选表结构确定目标表结构,包括:
根据所述字段类型推荐信息调整目标候选表结构中的字段存储类型和字段存储长度,得到目标表结构。
8.根据权利要求7所述的方法,其特征在于,所述根据所述字段类型推荐信息调整目标候选表结构中的字段存储类型和字段存储长度,包括:
将目标候选表结构中的字段存储类型调整为所述字段类型推荐信息中的推荐字段存储类型;
将所述目标候选表结构中的字段存储长度调整为所述字段类型推荐信息中的推荐字段存储长度与预设长度值的和。
9.根据权利要求2所述的方法,其特征在于,所述根据所述候选表结构生成候选数据库表,包括:
根据所述候选表结构新建第一数据库表,并将所述原始数据库表中的部分数据复制到所述第一数据库表中,得到候选数据库表。
10.根据权利要求1所述的方法,其特征在于,所述根据所述目标表结构和所述原始数据库表中的数据生成目标数据库表,包括:
根据所述目标表结构新建第二数据库表;
互换所述第二数据库表和所述原始数据库的表名;
将当前第二数据库表中的数据全量迁移至当前原始数据库表中,得到目标数据库表。
11.根据权利要求1-10所述的方法,其特征在于,还包括:
获取第三数据库表对应的分区配置信息,其中,所述分区配置信息中包括数据量信息和分区策略信息;
根据所述分区配置信息和预设分区管理规则对所述第三数据库表进行分区管理,其中,所述预设分区管理规则基于数据量和分区策略设定。
12.根据权利要求11所述的方法,其特征在于,所述根据所述分区配置信息和预设分区管理规则对所述第三数据库表进行分区管理,包括:
根据所述分区配置信息和预设分区管理规则确定所述第三数据库表中的待删除分区或待增加分区;
删除所述待删除分区或增加所述待增加分区。
13.一种数据库管理装置,其特征在于,包括:
执行信息获取模块,用于获取在原始数据库表中执行目标查询语句时对应的执行信息;
目标表结构确定模块,用于根据所述执行信息对所述原始数据库表的原始表结构进行调整,得到目标表结构;
目标数据库表生成模块,用于根据所述目标表结构和所述原始数据库表中的数据生成目标数据库表,其中,在所述目标数据库表执行所述目标查询语句时的第一查询性能指标信息优于在所述原始数据库表中执行所述目标查询语句时的第二查询性能指标信息。
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-12任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-12中任一所述的方法。
CN202110213464.0A 2021-02-25 2021-02-25 数据库管理方法、装置、设备及存储介质 Pending CN112783900A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110213464.0A CN112783900A (zh) 2021-02-25 2021-02-25 数据库管理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110213464.0A CN112783900A (zh) 2021-02-25 2021-02-25 数据库管理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN112783900A true CN112783900A (zh) 2021-05-11

Family

ID=75761896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110213464.0A Pending CN112783900A (zh) 2021-02-25 2021-02-25 数据库管理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112783900A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040122845A1 (en) * 2002-12-19 2004-06-24 International Business Machines Corporation System and method for automating data partitioning in a parallel database
CN107798069A (zh) * 2017-09-26 2018-03-13 恒生电子股份有限公司 用于数据加载的方法、装置及计算机可读介质
CN110674108A (zh) * 2019-08-30 2020-01-10 中国人民财产保险股份有限公司 数据处理方法及装置
CN111339063A (zh) * 2020-03-02 2020-06-26 中国平安人寿保险股份有限公司 假设数据智能管理方法、装置及计算机可读存储介
CN111459943A (zh) * 2020-04-03 2020-07-28 中国建设银行股份有限公司 一种数据处理方法、装置、系统、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040122845A1 (en) * 2002-12-19 2004-06-24 International Business Machines Corporation System and method for automating data partitioning in a parallel database
CN107798069A (zh) * 2017-09-26 2018-03-13 恒生电子股份有限公司 用于数据加载的方法、装置及计算机可读介质
CN110674108A (zh) * 2019-08-30 2020-01-10 中国人民财产保险股份有限公司 数据处理方法及装置
CN111339063A (zh) * 2020-03-02 2020-06-26 中国平安人寿保险股份有限公司 假设数据智能管理方法、装置及计算机可读存储介
CN111459943A (zh) * 2020-04-03 2020-07-28 中国建设银行股份有限公司 一种数据处理方法、装置、系统、设备及存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
COLINS~: "Mysql优化篇(表结构、查询语句、数据量大三方面)", pages 3 - 7, Retrieved from the Internet <URL:https://blog.csdn.net/weixin_44102992/article/details/106905298?ops_request_misc=&request_id=&biz_id=102&utm_term=%E6%95%B0%E6%8D%AE%E5%BA%93%E8%A1%A8%E6%9F%A5%E8%AF%A2%E4%BC%98%E5%8C%96%E6%96%B9%E6%B3%95%20%E8%A1%A8%E7%BB%93%E6%9E%84&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-5-106905298.142^v96^pc_search_result_base4&spm=1018.2226.3001.4187> *
单光庆 等: "《SQL Server 2012 数据库应用开发与管理实务》", vol. 1, 29 February 2016, 西南交通大学出版社, pages: 247 - 249 *
敖鹏蛟;裴志伟;: "集成电路生产线 EAP 监控系统大数据量查询性能优化方法", 工业控制计算机, vol. 1, no. 11, pages 152 - 158 *
管伟元;金海丰;: "科研设计管理信息系统数据库性能优化研究", 船舶与海洋工程, no. 04, pages 69 - 72 *

Similar Documents

Publication Publication Date Title
US9372889B1 (en) Incremental statistics update
US10387411B2 (en) Determining a density of a key value referenced in a database query over a range of rows
US8732163B2 (en) Query optimization with memory I/O awareness
US11392644B2 (en) Optimized navigable key-value store
US8108355B2 (en) Providing a partially sorted index
US7774336B2 (en) Adaptively reordering joins during query execution
US5778353A (en) Computer program product for optimizing data retrieval using index scanning
US7272589B1 (en) Database index validation mechanism
US7502775B2 (en) Providing cost model data for tuning of query cache memory in databases
US6546394B1 (en) Database system having logical row identifiers
US9141666B2 (en) Incremental maintenance of range-partitioned statistics for query optimization
CN102063449A (zh) 提高数据库中数据对象统计信息可靠性的方法及装置
CN115687304A (zh) 一种Flink状态存储优化方法及装置
CN111782663B (zh) 一种提升聚合查询效率的聚合索引结构及聚合索引方法
US8548980B2 (en) Accelerating queries based on exact knowledge of specific rows satisfying local conditions
US11409739B2 (en) Using materialized views to respond to queries
US8676769B2 (en) Method for defragmenting indexes in a relational database and system for performing the method
CN112783900A (zh) 数据库管理方法、装置、设备及存储介质
CN113360551B (zh) 一种靶场中时序数据的存储与快速统计方法及系统
CN115391424A (zh) 数据库查询的处理方法、存储介质与计算机设备
US9158815B2 (en) Estimating a number of unique values in a list
CN112506953A (zh) 基于结构化查询语言sql的查询方法、装置及存储介质
US20090287639A1 (en) Embedding Densities in a Data Structure
Patil et al. Study of performance tuning techniques
US11256680B2 (en) Resource estimation for MVCC-enabled database

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