CN115203248B - 数据库表空间的快速查询方法及装置 - Google Patents
数据库表空间的快速查询方法及装置 Download PDFInfo
- Publication number
- CN115203248B CN115203248B CN202211112787.1A CN202211112787A CN115203248B CN 115203248 B CN115203248 B CN 115203248B CN 202211112787 A CN202211112787 A CN 202211112787A CN 115203248 B CN115203248 B CN 115203248B
- Authority
- CN
- China
- Prior art keywords
- base
- base table
- database
- data
- space
- 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/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/2455—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (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
技术领域
本申请涉及数据库技术领域,具体而言,涉及一种数据库表空间的快速查询方法及装置。
背景技术
目前,在企业中常常使用数据库的数据量较大的情况下,Oracle数据库的表空间查询较慢逐渐成为一个较为严重的问题。通常,数据库管理员在使用查询表空间时,都必须要先查询Oracle数据库提供的剩余表空间视图,而剩余表空间视图中的基表关联顺序容易受到CBO(Cost Based Optimization,基于成本的优化)的影响,也即,当某个基表的索引存在严重数据倾斜时,与其关联的另一个基表就会产生异常庞大的数据集,从而导致CBO解析出性能较低的执行计划,导致SQL查询速度异常缓慢。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种数据库表空间的快速查询方法及装置,以至少解决进而解决了在较大数据库的业务场景下,相关技术查询数据库表空间的使用率慢的技术问题。
根据本申请实施例的一个方面,提供了一种数据库表空间的快速查询方法,包括:获取数据库剩余表空间的查询语句,查询语句中包多个基表的基表信息,其中,多个基表包括:第一基表、第二基表、第三基表以及第四基表;从查询语句中确定多个基表的关联顺序,以及各个基表的访问方式;基于关联顺序与访问方式确定目标查询计划;执行目标查询计划,查询数据库表空间内的目标数据。
可选地,第一基表内的第一数据为回收站内的段信息;第二基表内的第二数据为数据库表空间内的全部段信息;第三基表内的第三数据为数据库内的全部段信息;第四基表内的第四数据为数据库表空间内的数据文件信息。
可选地,从查询语句中确定多个基表的关联顺序,以及各个基表的访问方式,包括:从查询语句中确定多个基表的关联顺序,关联顺序为第一关联顺序或者第二关联顺序;从查询语句中确定各个基表的访问方式,访问方式为索引扫描或者全表扫描。
可选地,第一关联顺序为依次连接第一基表、第二基表、第三基表、第四基表;第二关联顺序为依次连接第一基表、第三基表、第二基表、第四基表。
可选地,从查询语句中确定各个基表的访问方式,包括:采用全表扫描的方式访问第一基表和第二基表;采用索引扫描的方式访问第三基表和第四基表。
可选地,基于关联顺序与访问方式确定目标查询计划,包括:依据关联顺序,确定目标查询计划的执行顺序;依据访问方式,确定目标查询计划的执行路径。
可选地,执行目标查询计划,查询数据库表空间内的目标数据之前,还包括:清除第一基表内的第一数据。
根据本申请实施例的另一方面,还提供了一种数据库表空间的快速查询装置,包括:获取模块,用于获取数据库剩余表空间的查询语句,查询语句中包多个基表的基表信息,其中,多个基表包括:第一基表、第二基表、第三基表以及第四基表;第一确定模块,用于从查询语句中确定多个基表的关联顺序,以及各个基表的访问方式;第二确定模块,用于基于关联顺序与访问方式确定目标查询计划;查询模块,用于执行目标查询计划,查询数据库表空间内的目标数据。
根据本申请实施例的另一方面,还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行上述的数据库表空间的快速查询方法。
根据本申请实施例的另一方面,还提供了一种电子设备,该电子设备包括:存储器和处理器,其中,存储器中存储有计算机程序,处理器被配置为通过计算机程序执行上述的数据库表空间的快速查询方法。
在本申请实施例中,获取数据库剩余表空间的查询语句,查询语句中包多个基表的基表信息,其中,多个基表包括:第一基表、第二基表、第三基表以及第四基表;从查询语句中确定多个基表的关联顺序,以及各个基表的访问方式;基于关联顺序与访问方式确定目标查询计划;执行目标查询计划,查询数据库表空间内的目标数据。其中,基于关联顺序和访问方式确定目标查询计划,避免由于基表的统计信息缺失或者存在错误的统计信息,导致执行目标查询计划异常缓慢,达到了保证表空间查询速度稳定的目的,进而解决了在较大数据库的业务场景下,相关技术查询数据库表空间的使用率慢的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种可选的查询剩余表空间的查询语句的示意图;
图2是根据本申请实施例的一种可选的查询剩余表空间的执行计划的示意图;
图3是根据本申请实施例的一种可选的多个基表关联顺序的示意图;
图4是根据本申请实施例的一种数据库表空间的快速查询方法的流程示意图;
图5是根据本申请实施例的一种可选的第一关联顺序的连接示意图;
图6是根据本申请实施例的一种可选的第二关联顺序的连接示意图;
图7是根据本申请实施例的一种可选的目标查询计划执行的结果示意图;
图8是根据本申请实施例的一种数据库表空间的快速查询装置;
图9是根据本申请实施例的一种可选的计算机终端的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了更好地理解本申请实施例,对本申请实施例进行描述的过程中出现的部分名词或术语翻译解释如下:
Oracle数据库:Oracle数据库是一个对象关系数据库管理系统。通常,可以被称为Oracle RDBMS或简称为Oracle,是一个收费的数据库。作为一个通用的数据库,它具有完整的数据库管理功能;作为一个关系数据库,它是一个完备关系的产品;作为一个分布式数据库,它实现了分布式处理的功能。Oracle数据库具备效率高、可靠性高、吞吐量高等优点。
表空间:一个Oracle数据库可以有一个或多个表空间,一个表空间对应着一个或多个物理的数据库文件。表空间是Oracle数据库恢复的最小单位,容纳者许多数据库实体,入表、视图、索引、聚簇、回退段和临时段等。
基表:数据库中永久存储的表,基表由视图、游标、SQL语句和存储过程引用。
实施例1
当前,Oracle数据库在使用过程中通常会出现查询表空间使用率较慢的问题,尤其当数据库较大,且业务压力较重的情况下,表空间的使用率会更慢。
通常,查询表空间时必须要查询Oracle提供的剩余表空间视图,其中,图1示出了一种可选的查询剩余表空间的SQL语句,可以看出,recyclebin$、ts$、x$ktfbue、file$四张表进行关联时,其关联顺序容易受到CBO优化器的影响,从而解析出性能低下的执行计划,导致通过SQL语句无法查询出结果。
例如,Oracle的统计信息滞后或者没有发现file$表的数据存在严重倾斜时,很容易产生图2所示错误的执行计划,在这种情况下,图3为上述四张表的关联顺序的连接示意图,即关联顺序为recyclebin$、ts$、file$、x$ktfbue,此时,当file$的索引I_FILE2存在严重数据倾斜时,就会导致与recylebin$关联的file$产生异常庞大的临时数据集2,从而导致查询异常缓慢。
为了解决上述问题,本申请实施例提供了一种数据库表空间的快速查询方法的实施例。具体地,采用outline技术固定剩余表空间视图内的各个基表的关联顺序,使得整个表空间的查询速度不受统计信息因素的影响,逐渐趋于稳定、线性。另外,在对数据库进行查询之前,查询并清除回收站内的段信息,提高表空间的查询速度,使得整个表空间的查询速度只与回收站内的对象数据成正比关系。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图4是根据本申请实施例的一种可选的数据库表空间的快速查询方法的流程示意图,如图4所示,该方法至少包括步骤S402-S408,其中:
步骤S402,获取数据库剩余表空间的查询语句,查询语句中包多个基表的基表信息,其中,多个基表包括:第一基表、第二基表、第三基表以及第四基表。
可选地,第一基表内的第一数据为回收站内的段信息;第二基表内的第二数据为数据库表空间内的全部段信息;第三基表内的第三数据为数据库内的全部段信息;第四基表内的第四数据为数据库表空间内的数据文件信息。
例如,对Orcale数据库表空间进行查询时,必须要查询数据库剩余表空间视图,相关数据库管理员通过分析数据库剩余表空间视图的SQL语句确定访问查询计划,其中,SQL语句中定义了字段的标识信息以及基表的标识信息。
在本申请实施例中第一基表为recyclebin$,第一基表用于管理回收站内的段信息;第二基表为ts$,第二基表用于管理Orcale数据库表空间内的全部段信息;第三基表为x$ktfbue,第三基表用于管理Orcale数据库的全部段信息;第四基表为file$,第四基表用于管理Orcale数据库表空间内的数据文件信息。需要说明的是,对Orcale数据库的查询最终都会转换成对Orcale数据库表空间的查询,因此,对第三基表x$ktfbue的查询,也会转换为对第二基表ts$的查询。
步骤S404,从查询语句中确定多个基表的关联顺序,以及各个基表的访问方式。
作为一种可选的实施方式,从查询语句中确定多个基表的关联顺序,关联顺序为第一关联顺序或者第二关联顺序;从查询语句中确定各个基表的访问方式,访问方式为索引扫描(Index Scan)或者全表扫描(Full Table Scan)。
具体地,当数据分散在基表的多个数据块中时,Orcale执行全表扫描访问基表,基表上相邻的数据块按照顺序的方式访问使得一次I/O可以读取多个数据库,实现快速扫描基表,减少I/O总次数,提高数据块的吞吐量。一般,若读取的数据量较多,约占基表总数据量的5%-10%时,建议使用全表扫描。
在数据库的基表中,对字段建立索引以提高查询速度。为了快速查询定位到目标数据上时,可以根据索引类型、数据分布、约束条件以及where限制的不同选择索引扫描方式,可以分为:索引唯一扫描(Index Unique Scan)、索引范围扫描(Index Range Scan)、索引全扫描(Index Full Scan)、索引快速扫描(Index Fast Full Scan,FFS)以及索引跳跃扫描(Index Skip Scan)。其中,索引唯一扫描是针对唯一性索引的扫描,它仅适用于where条件中等值查询的目标SQL,采用索引唯一扫描的结果至多返回一条记录;索引范围扫描适用于所有类型的B数索引,当扫描的对象是唯一索引时,此时目标查询语句的where条件一定是范围查询,反之目标查询语句的where条件无限制;索引全扫描是扫描目标索引叶子块的所有行,需要注意的是,索引全扫描并不需要扫描该索引的所有分支块;索引快速扫描是通过多块读取的方式,读取索引块;索引跳跃扫描适用于所有类型的复合B树索引(包含唯一性索引和非唯一性索引),它使某索引在where条件中没有对目标索引的前导列执行查询条件,但同时对该索引的非前导列指定了查询条件的目标查询语句中用到该索引,可以理解为,扫描该索引时跳过了其前导列,直接从该索引的非前导列开始扫描。
在SQL语句的准备过程中,为了提升查询Orcale数据库表空间的使用率,需要选择最合适的关联顺序连接基表,尤其是处理有多个基表关联的查询,当Orcale评估基表的关联顺序时,必须要考虑到基表之间所有可能的关联顺序。通常,四个基表的之间的关联方式有24种可能,相关技术人员可以通过改变基表的搜索限制参数,如optimizer searchlimit(优化程序搜索限制)或者optimizer max permutation(优化程序最大排列)等搜索限制参数,也可以使用ordered提示人工指定基表的关联顺序,从而显著减少优化和执行新查询所需耗费的时间。
本申请实施例中选择人工指定基表的关联顺序,固定各基表之间的关联顺序不变,使得优化器解析出的执行计划与各基表的统计信息无关,保证执行计划不会因统计信息的内容缺失或者统计信息的内容错误出现执行异常缓慢的情况。
可选地,第一关联顺序为依次连接第一基表、第二基表、第三基表、第四基表;第二关联顺序为依次连接第一基表、第三基表、第二基表、第四基表。
图5示出了一种可选的第一关联顺序的基表连接示意图,第一关联顺序可以为recyclebin$、ts$、x$ktfbue、file$,其中,按照第一关联顺序使recyclebin$与ts$相连接,生成第一临时结果集,再将第一临时结果集与x$ktfbue相连接,生成第二临时结果集,最后将第二临时结果集与file$相连接,完成对Orcale数据库的查询。
同样,图6也示出了一种可选的第二关联顺序的基表连接示意图,第二关联顺序可以为recyclebin$、x$ktfbue、ts$、file$,其中,按照第二关联顺序使recyclebin$与x$ktfbue相连接,生成第三临时结果集,再将第三临时结果集与ts$相连接,生成第四临时结果集,最后将第四临时结果集与file$相连接,完成对Orcale数据库的查询。
可选地,采用全表扫描的方式访问第一基表和第二基表;采用索引扫描的方式访问第三基表和第四基表。
具体地,第一基表recyclebin$存储的数据为回收站内的段信息,当Orcale顺序地访问回收站内的每条记录,并检查每一条记录是否满足where语句的限制条件时,需要采用全表扫描的方式扫描全部段信息;第二基表ts$存储的数据为Orcale数据库表空间的全部段信息,当需要对Orcale数据库表空间进行查询时,需要对表空间内的全部段信息进行扫描,减小I/O总次数,提高Orcale数据库的吞吐量;第三基表x$ktfbue存储的数据为数据库内的全部段信息,其存储的数据量较大,若采用全表扫描的方式,需要耗费大量的时间和CPU占比,因此,采用索引唯一扫描的方式,且使用ind:1作为访问索引,可以加快对表空间的查询速率;第四基表file$存储的数据为Orcale数据库表空间内的数据文件信息,存储的数据量较大,使用索引扫描的方式可以通过索引得到该键值行的行数,并定位到具体的行进行数据的读取。
步骤S406,基于关联顺序与访问方式确定目标查询计划。
作为一种可选的实施方式,执行目标查询计划,查询数据库表空间内的目标数据之前,清除第一基表内的第一数据。
具体地,回收站从原理上来说是一个数据字典表,其放置用户删除掉的数据库对象信息,通常,用户进行删除操作的对象并没有被数据库进行删除,因此,该对象仍会占用数据库的空间,当回收站内的对象过多时,会降低对表空间的查询速度。例如,当表空间被回收站内的第一数据完全占满,也即第一数据数量达到表空间存放数据的最大限额时,以至于必须扩展数据文件以容纳更多数据时,会将第一对象按照先进先出的原则进行清除,以满足新分配表空间的需求。
可选地,依据关联顺序,确定目标查询计划的执行顺序;依据访问方式,确定目标查询计划的执行路径。
步骤S408,执行目标查询计划,查询数据库表空间内的目标数据。
例如,图7示出了一种可选的目标查询计划的执行结果图,由图7可以看出,本申请实施例中的目标执行计划是按照关联顺序,并采用嵌套循环连接的方式连接recyclebin$、x$ktfbue和ts$,使用索引全扫描访问file$的I_FILE2;使用全表扫描的方式访问recyclebin$和ts$;使用固定表固定索引的方式访问x$ktfbue,且使用ind:1作为访问索引。扫描各表的花费时间均为1秒,极大提升了表空间使用情况查询速率。
在本申请实施例中,获取数据库剩余表空间的查询语句,查询语句中包多个基表的基表信息,其中,多个基表包括:第一基表、第二基表、第三基表以及第四基表;从查询语句中确定多个基表的关联顺序,以及各个基表的访问方式;基于关联顺序与访问方式确定目标查询计划;执行目标查询计划,查询数据库表空间内的目标数据。其中,基于关联顺序和访问方式确定目标查询计划,避免由于基表的统计信息缺失或者存在错误的统计信息,导致执行目标查询计划异常缓慢,达到了保证表空间查询速度稳定的目的,进而解决了在较大数据库的业务场景下,相关技术查询数据库表空间的使用率慢的技术问题。
实施例2
根据本申请实施例,还提供了一种用于实现上述数据库表空间的快速查询方法的数据库表空间的快速查询装置,如图8所示,该装置至少包括获取模块81,第一确定模块82,第二确定模块83和查询模块84,其中:
获取模块81,用于获取数据库剩余表空间的查询语句,查询语句中包多个基表的基表信息,其中,多个基表包括:第一基表、第二基表、第三基表以及第四基表。
可选地,第一基表内的第一数据为回收站内的段信息;第二基表内的第二数据为数据库表空间内的全部段信息;第三基表内的第三数据为数据库内的全部段信息;第四基表内的第四数据为数据库表空间内的数据文件信息。
例如,对Orcale数据库表空间进行查询时,必须要查询数据库剩余表空间视图,相关数据库管理员通过分析数据库剩余表空间视图的SQL语句确定访问查询计划,其中,SQL语句中定义了字段的标识信息以及基表的标识信息。
在本申请实施例中第一基表为recyclebin$,第一基表用于管理回收站内的段信息;第二基表为ts$,第二基表用于管理Orcale数据库表空间内的全部段信息;第三基表为x$ktfbue,第三基表用于管理Orcale数据库的全部段信息;第四基表为file$,第四基表用于管理Orcale数据库表空间内的数据文件信息。需要说明的是,对Orcale数据库的查询最终都会转换成对Orcale数据库表空间的查询,因此,对第三基表x$ktfbue的查询,也会转换为对第二基表ts$的查询。
第一确定模块82,用于从查询语句中确定多个基表的关联顺序,以及各个基表的访问方式。
作为一种可选的实施方式,从查询语句中确定多个基表的关联顺序,关联顺序为第一关联顺序或者第二关联顺序;从查询语句中确定各个基表的访问方式,访问方式为索引扫描或者全表扫描。
在SQL语句的准备过程中,为了提升查询Orcale数据库表空间的使用率,需要选择最合适的关联顺序连接基表,尤其是处理有多个基表关联的查询,当Orcale评估基表的关联顺序时,必须要考虑到基表之间所有可能的关联顺序。通常,四个基表的之间的关联方式有24种可能,相关技术人员可以通过改变基表的搜索限制参数,如optimizer searchlimit(优化程序搜索限制)或者optimizer max permutation(优化程序最大排列)等搜索限制参数,也可以使用ordered提示人工指定基表的关联顺序,从而显著减少优化和执行新查询所需耗费的时间。
本申请实施例中选择人工指定基表的关联顺序,固定各基表之间的关联顺序不变,使得优化器解析出的执行计划与各基表的统计信息无关,保证执行计划不会因统计信息的内容缺失或者统计信息的内容错误出现执行异常缓慢的情况。
可选地,第一关联顺序为依次连接第一基表、第二基表、第三基表、第四基表;第二关联顺序为依次连接第一基表、第三基表、第二基表、第四基表。
可选地,采用全表扫描的方式访问第一基表和第二基表;采用索引扫描的方式访问第三基表和第四基表。
具体地,第一基表recyclebin$存储的数据为回收站内的段信息,当Orcale顺序地访问回收站内的每条记录,并检查每一条记录是否满足where语句的限制条件时,需要采用全表扫描的方式扫描全部段信息;第二基表ts$存储的数据为Orcale数据库表空间的全部段信息,当需要对Orcale数据库表空间进行查询时,需要对表空间内的全部段信息进行扫描,减小I/O总次数,提高Orcale数据库的吞吐量;第三基表x$ktfbue存储的数据为数据库内的全部段信息,其存储的数据量较大,若采用全表扫描的方式,需要耗费大量的时间和CPU占比,因此,采用索引唯一扫描的方式,且使用ind:1作为访问索引,可以加快对表空间的查询速率;第四基表file$存储的数据为Orcale数据库表空间内的数据文件信息,存储的数据量较大,使用索引扫描的方式可以通过索引得到该键值行的行数,并定位到具体的行进行数据的读取。
第二确定模块83,用于基于关联顺序与访问方式确定目标查询计划。
作为一种可选的实施方式,执行目标查询计划,查询数据库表空间内的目标数据之前,清除第一基表内的第一数据。
具体地,回收站从原理上来说是一个数据字典表,其放置用户删除掉的数据库对象信息,通常,用户进行删除操作的对象并没有被数据库进行删除,因此,该对象仍会占用数据库的空间,当回收站内的对象过多时,会降低对表空间的查询速度。例如,当表空间被回收站内的第一数据完全占满,也即第一数据数量达到表空间存放数据的最大限额时,以至于必须扩展数据文件以容纳更多数据时,会将第一对象按照先进先出的原则进行清除,以满足新分配表空间的需求。
可选地,依据关联顺序,确定目标查询计划的执行顺序;依据访问方式,确定目标查询计划的执行路径。
查询模块84,用于执行目标查询计划,查询数据库表空间内的目标数据。
例如,本申请实施例中的目标执行计划是按照关联顺序,并采用嵌套循环连接的方式连接recyclebin$、x$ktfbue和ts$,使用索引全扫描访问file$的I_FILE2;使用全表扫描的方式访问recyclebin$和ts$;使用固定表固定索引的方式访问x$ktfbue,且使用ind:1作为访问索引。扫描各表的花费时间均为1秒,极大提升了表空间使用情况查询速率。
需要说明的是,本申请实施例中的数据库表空间的快速查询装置中的各模块与实施例1中的数据库表空间的快速查询方法的各实施步骤一一对应,由于实施例1中已经进行了详尽的描述,本实施例中部分未体现的细节可以参考实施例1,在此不再过多赘述。
实施例3
根据本申请实施例,还提供了一种非易失性存储介质,该非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行实施例1中的数据库表空间的快速查询方法。
可选地,在程序运行时控制非易失性存储介质所在设备执行实现以下步骤:获取数据库剩余表空间的查询语句,查询语句中包多个基表的基表信息,其中,多个基表包括:第一基表、第二基表、第三基表以及第四基表;从查询语句中确定多个基表的关联顺序,以及各个基表的访问方式;基于关联顺序与访问方式确定目标查询计划;执行目标查询计划,查询数据库表空间内的目标数据。
作为一种可选的实施方式,从查询语句中确定多个基表的关联顺序,关联顺序为第一关联顺序或者第二关联顺序;从查询语句中确定各个基表的访问方式,访问方式为索引扫描或者全表扫描。
可选地,第一关联顺序为依次连接第一基表、第二基表、第三基表、第四基表;第二关联顺序为依次连接第一基表、第三基表、第二基表、第四基表。
可选地,采用全表扫描的方式访问第一基表和第二基表;采用索引扫描的方式访问第三基表和第四基表。
作为一种可选的实施方式,执行目标查询计划,查询数据库表空间内的目标数据之前,清除第一基表内的第一数据。
可选地,依据关联顺序,确定目标查询计划的执行顺序;依据访问方式,确定目标查询计划的执行路径。
具体地,本申请的非易失性存储介质实施例新增如下的相关内容,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图9示出了一种用于实现数据库表空间的快速查询方法的计算机终端(或移动设备)的硬件结构框图。如图9所示,计算机终端90(或移动设备90)可以包括一个或多个(图中采用901a、902b,……,902n来示出)处理器902(处理器902可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器904、以及用于通信功能的传输模块906。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图9所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端90还可包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置。
应当注意到的是上述一个或多个处理器902和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端90(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器904可用于存储应用软件的软件程序以及模块,如本发明实施例中的()方法对应的程序指令/数据存储装置,处理器902通过运行存储在存储器904内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的漏洞检测方法。存储器904可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器904可进一步包括相对于处理器902远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端90。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块906用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端90的通信供应商提供的无线网络。在一个实例中,传输装置906包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置906可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端90(或移动设备)的用户界面进行交互。
实施例4
根据本申请实施例,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行实施例1中的数据库表空间的快速查询方法。
可选地,在程序运行时控制处理器所在设备执行实现以下步骤:获取数据库剩余表空间的查询语句,查询语句中包多个基表的基表信息,其中,多个基表包括:第一基表、第二基表、第三基表以及第四基表;从查询语句中确定多个基表的关联顺序,以及各个基表的访问方式;基于关联顺序与访问方式确定目标查询计划;执行目标查询计划,查询数据库表空间内的目标数据。
作为一种可选的实施方式,从查询语句中确定多个基表的关联顺序,关联顺序为第一关联顺序或者第二关联顺序;从查询语句中确定各个基表的访问方式,访问方式为索引扫描或者全表扫描。
可选地,第一关联顺序为依次连接第一基表、第二基表、第三基表、第四基表;第二关联顺序为依次连接第一基表、第三基表、第二基表、第四基表。
可选地,采用全表扫描的方式访问第一基表和第二基表;采用索引扫描的方式访问第三基表和第四基表。
作为一种可选的实施方式,执行目标查询计划,查询数据库表空间内的目标数据之前,清除第一基表内的第一数据。
可选地,依据关联顺序,确定目标查询计划的执行顺序;依据访问方式,确定目标查询计划的执行路径。
实施例5
根据本申请实施例的另一方面,还提供了一种电子设备,该电子设备包括:存储器和处理器,其中,存储器中存储有计算机程序,处理器被配置为通过计算机程序执行上述的数据库表空间的快速查询方法。
可选地,在程序运行时控制非易失性存储介质所在设备执行实现以下步骤::获取数据库剩余表空间的查询语句,查询语句中包多个基表的基表信息,其中,多个基表包括:第一基表、第二基表、第三基表以及第四基表;从查询语句中确定多个基表的关联顺序,以及各个基表的访问方式;基于关联顺序与访问方式确定目标查询计划;执行目标查询计划,查询数据库表空间内的目标数据。
作为一种可选的实施方式,从查询语句中确定多个基表的关联顺序,关联顺序为第一关联顺序或者第二关联顺序;从查询语句中确定各个基表的访问方式,访问方式为索引扫描或者全表扫描。
可选地,第一关联顺序为依次连接第一基表、第二基表、第三基表、第四基表;第二关联顺序为依次连接第一基表、第三基表、第二基表、第四基表。
可选地,采用全表扫描的方式访问第一基表和第二基表;采用索引扫描的方式访问第三基表和第四基表。
作为一种可选的实施方式,执行目标查询计划,查询数据库表空间内的目标数据之前,清除第一基表内的第一数据。
可选地,依据关联顺序,确定目标查询计划的执行顺序;依据访问方式,确定目标查询计划的执行路径。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (9)
1.一种数据库表空间的快速查询方法,其特征在于,包括:
获取数据库剩余表空间的查询语句,所述查询语句中包多个基表的基表信息,其中,所述多个基表包括:第一基表、第二基表、第三基表以及第四基表,所述第一基表内的第一数据为回收站内的段信息;所述第二基表内的第二数据为所述数据库表空间内的全部段信息;所述第三基表内的第三数据为数据库内的全部段信息;所述第四基表内的第四数据为所述数据库表空间内的数据文件信息;
从所述查询语句中确定所述多个基表的第一关联顺序或者第二关联顺序,以及各个所述基表的访问方式,其中,采用outline技术固定所述多个基表的所述第一关联顺序和所述第二关联顺序;基于所述关联顺序与所述访问方式确定目标查询计划;
执行所述目标查询计划,查询所述数据库表空间内的目标数据。
2.根据权利要求1所述的方法,其特征在于,从所述查询语句中确定各个所述基表的访问方式,包括:
从所述查询语句中确定各个所述基表的访问方式,所述访问方式为索引扫描或者全表扫描。
3.根据权利要求1所述的方法,其特征在于,所述第一关联顺序为依次连接所述第一基表、所述第二基表、所述第三基表、所述第四基表;所述第二关联顺序为依次连接所述第一基表、所述第三基表、所述第二基表、所述第四基表。
4.根据权利要求2所述的方法,其特征在于,从所述查询语句中确定各个所述基表的访问方式,包括:
采用所述全表扫描的方式访问所述第一基表和所述第二基表;
采用所述索引扫描的方式访问所述第三基表和所述第四基表。
5.根据权利要求1所述的方法,其特征在于,基于所述关联顺序与所述访问方式确定目标查询计划,包括:
依据所述关联顺序,确定所述目标查询计划的执行顺序;
依据所述访问方式,确定所述目标查询计划的执行路径。
6.根据权利要求1所述的方法,其特征在于,执行所述目标查询计划,查询所述数据库表空间内的目标数据之前,所述方法还包括:
清除所述第一基表内的第一数据。
7.一种数据库表空间的快速查询装置,其特征在于,包括:
获取模块,用于获取数据库剩余表空间的查询语句,所述查询语句中包多个基表的基表信息,其中,所述多个基表包括:第一基表、第二基表、第三基表以及第四基表,所述第一基表内的第一数据为回收站内的段信息;所述第二基表内的第二数据为所述数据库表空间内的全部段信息;所述第三基表内的第三数据为数据库内的全部段信息;所述第四基表内的第四数据为所述数据库表空间内的数据文件信息;
第一确定模块,用于从所述查询语句中确定所述多个基表的第一关联顺序或者第二关联顺序,以及各个所述基表的访问方式,其中,采用outline技术固定所述多个基表的所述第一关联顺序和所述第二关联顺序;第二确定模块,用于基于所述关联顺序与所述访问方式确定目标查询计划;
查询模块,用于执行所述目标查询计划,查询所述数据库表空间内的目标数据。
8.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至6中任意一项所述的数据库表空间的快速查询方法。
9.一种电子设备,其特征在于,包括:存储器和处理器,其中,所述存储器中存储有计算机程序,所述处理器被配置为通过所述计算机程序执行权利要求1至6中任意一项所述的数据库表空间的快速查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211112787.1A CN115203248B (zh) | 2022-09-14 | 2022-09-14 | 数据库表空间的快速查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211112787.1A CN115203248B (zh) | 2022-09-14 | 2022-09-14 | 数据库表空间的快速查询方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115203248A CN115203248A (zh) | 2022-10-18 |
CN115203248B true CN115203248B (zh) | 2022-12-13 |
Family
ID=83571929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211112787.1A Active CN115203248B (zh) | 2022-09-14 | 2022-09-14 | 数据库表空间的快速查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115203248B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116303575B (zh) * | 2023-03-22 | 2023-12-12 | 本原数据(北京)信息技术有限公司 | 数据库数据查询方法、装置及非易失性存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506442B (zh) * | 2017-08-24 | 2020-09-29 | 中国银行股份有限公司 | 一种模型的建模方法及装置 |
CN111221840B (zh) * | 2018-11-23 | 2023-05-30 | 阿里云计算有限公司 | 数据处理方法及装置、数据缓存方法、存储介质、系统 |
CN113836163A (zh) * | 2020-06-23 | 2021-12-24 | 南京中兴软件有限责任公司 | 数据的关联查询方法、装置、设备及存储介质 |
CN113360481B (zh) * | 2021-08-09 | 2021-10-15 | 杭州安恒信息技术股份有限公司 | 一种数据处理方法、装置、设备及计算机可读存储介质 |
CN114238389A (zh) * | 2021-12-10 | 2022-03-25 | 北京人大金仓信息技术股份有限公司 | 数据库查询优化方法、装置、电子设备、介质和程序产品 |
CN114328612A (zh) * | 2022-01-04 | 2022-04-12 | 北京金山云网络技术有限公司 | 查询优化器的数据处理方法、装置及电子设备 |
CN114372065A (zh) * | 2022-03-22 | 2022-04-19 | 北京奥星贝斯科技有限公司 | 访问数据库表的方法和装置 |
-
2022
- 2022-09-14 CN CN202211112787.1A patent/CN115203248B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115203248A (zh) | 2022-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10073888B1 (en) | Adjusting partitioning policies of a database system in view of storage reconfiguration | |
US10977234B2 (en) | Combining compressed and uncompressed data at query time for efficient database analytics | |
CN108255925B (zh) | 一种数据表结构变更情况的显示方法及其终端 | |
US10725995B2 (en) | Automatically revising synopsis table structure | |
EP3117347B1 (en) | Systems and methods for rapid data analysis | |
Tao et al. | Efficient and accurate nearest neighbor and closest pair search in high-dimensional space | |
US8924373B2 (en) | Query plans with parameter markers in place of object identifiers | |
US9218394B2 (en) | Reading rows from memory prior to reading rows from secondary storage | |
CN115203248B (zh) | 数据库表空间的快速查询方法及装置 | |
CN111221840B (zh) | 数据处理方法及装置、数据缓存方法、存储介质、系统 | |
WO2019052162A1 (zh) | 提高数据清洗效率的方法、装置、设备及可读存储介质 | |
US11928113B2 (en) | Structure and method of aggregation index for improving aggregation query efficiency | |
CN109376142A (zh) | 数据迁移方法及终端设备 | |
CN111209252A (zh) | 一种文件元数据存储方法、装置及电子设备 | |
CN110750515A (zh) | 数据库查询方法及处理装置 | |
CN113849499A (zh) | 数据的查询方法、装置、存储介质及电子装置 | |
CN115640274A (zh) | 数据库模型动态调整的方法、设备及存储介质 | |
CN110321388B (zh) | 一种基于Greenplum的快速排序查询方法及系统 | |
CN116450607A (zh) | 数据处理方法、设备及存储介质 | |
CN110019192B (zh) | 数据库的检索方法及装置 | |
CN115442799A (zh) | 号码的查询方法及装置、非易失性存储介质、处理器 | |
CN106933933B (zh) | 数据表信息的处理方法及装置 | |
CN114490724A (zh) | 处理数据库查询语句的方法和装置 | |
CN116628042A (zh) | 数据处理方法、装置、设备及介质 | |
CN114265909A (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 |