CN111753028A - 数据传输方法、装置、设备及存储介质 - Google Patents
数据传输方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111753028A CN111753028A CN202010633733.4A CN202010633733A CN111753028A CN 111753028 A CN111753028 A CN 111753028A CN 202010633733 A CN202010633733 A CN 202010633733A CN 111753028 A CN111753028 A CN 111753028A
- Authority
- CN
- China
- Prior art keywords
- operator
- record number
- records
- data transmission
- tree 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.)
- Granted
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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- 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/2379—Updates performed during online database operations; commit processing
- G06F16/2386—Bulk updating operations
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据传输方法、装置、设备及存储介质。该方法包括:根据接收的操作指令确定至少一个操作符;至少一个操作符构成树形结构,且各操作符为树形结构中的一个节点;若树形结构中包括第一操作符,获取树形结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数;根据实际记录条数对设定记录条数进行更新;按照更新后的设定记录条数在树形结构中传输数据,返回执行获取树形结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数的操作,直到操作指令对应的数据完成传输。本发明实施例的技术方案,实现了数据传输时各操作符记录条数的动态设置,提高了操作符间记录条数设置的灵活性,降低了同样命令的响应时间。
Description
技术领域
本发明实施例涉及数据库技术领域,尤其涉及一种数据传输方法、装置、设备及存储介质。
背景技术
数据库结构化查询语言(Structured Query Language,SQL)是一种应用于数据库查询的程序设计语言,可用于数据库中存储数据以及查询、更新和管理关系数据库系统,应用SQL语言,可以使用户在高层数据结构上工作,而无需了解具体的数据存放方式,使数据库的应用具有了更大的灵活性和更强大的功能。SQL在执行计划通常表现为操作符二叉树形式,操作符之间的数据以单条记录或者多条记录的形式进行传输。
通过多条记录为单位进行数据传输可以对表达式进行批量计算,减少表达式函数的调用次数以及操作符之间的跳转次数,并能够增加CPU指令的命中概率,但其会增加某些场景下的查询响应时间以及消耗更大的内存。而通过单条记录为单位进行数据传输则可以降低查询响应时间并减小内存的消耗,但其无法获得批量数据处理所带来的诸多好处。
现有技术中,对于采用单条记录为操作符间数据传输规模的数据库系统,由于难以进行数据的批量处理,其在面对联机分析处理(On-Line Analytical Processing,OLAP)场景时少了一种优化手段;而对于支持采用多条记录为操作符间数据传输规模的数据库系统,其在接收到高层命令并调用多个操作符进行执行期间,所有操作符间均采用相同的记录条数进行数据传播,且无法根据执行期间的具体特征对不同操作符间的记录条数进行调整,难以实现响应时间的优化。
发明内容
本发明提供一种数据传输方法、装置、设备及存储介质,以实现数据库系统中操作符间进行数据传输时对各操作符记录条数的动态设置,提高了操作符间记录条数设置的灵活性,降低了同样命令的响应时间。
第一方面,本发明实施例提供了一种数据传输方法,包括:
根据接收的操作指令确定至少一个操作符;至少一个操作符构成树形结构,且各操作符为树形结构中的一个节点;
若树形结构中包括第一操作符,则获取树形结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数;其中,第一操作符为过滤操作符或连接操作符;
根据实际记录条数对设定记录条数进行更新;
按照更新后的设定记录条数在树形结构中传输数据,返回执行获取树形结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数的操作,直到操作指令对应的数据完成传输。
进一步地,在根据接收的操作指令确定至少一个操作符之后,获取树形结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数之前,还包括:
根据各操作符的类型信息确定各操作符的初始记录条数,并将初始记录条数确定为设定记录条数。
进一步地,根据各操作符的类型信息确定各操作符的初始记录条数,包括:
若类型信息为第一类型,则将确定的记录条数作为操作符的初始记录条数;第一类型为记录条数确定类型;
若类型信息为第二类型,则将第一设定值确定为操作符的初始记录条数;第二类型为叶子操作符;
若类型为第三类型,则根据第一设定值及操作符的第一缩放比例确定初始记录条数;第三类型与第一类型和第二类型均不同。
进一步地,确定操作符的第一缩放比例,包括:
当操作符为一元操作符时,将操作符的估算记录条数与子操作符的估算记录条数的比值确定为第一缩放比例;
当操作符为连接类型的二元操作符时,将操作符的估算记录条数与内侧子操作符的估算记录条数的比值确定为第一缩放比例;其中,内侧子操作符为连接类型的二元操作符进行数据检测的子操作符;
当操作符为非连接类型的二元操作符时,将第一缩放比例确定为第二设定值。
进一步地,根据实际记录条数对设定记录条数进行更新,包括:
对于第一操作符,计算第一操作符的实际记录条数与第一操作符的子操作符的实际记录条数的比值,根据比值对设定记录条数进行更新,获得更新值;
下行遍历第二操作符,根据更新值、类型信息及实际记录条数中的至少一项对遍历到的第二操作符的设定记录条数进行更新;第二操作符在树形结构中的等级小于第一操作符在树形结构中的等级。
进一步地,根据更新值、类型信息及实际记录条数中的至少一项对遍历到的第二操作符的设定记录条数进行更新,包括:
若类型信息为第一类型,则将设定记录条数更新为确定的记录条数;
若类型信息为第二类型,则将设定记录条数更新为操作符父操作符的设定记录条数;
若类型信息为第三类型,则根据更新值及操作符的第二缩放比例更新设定记录条数,其中,第二缩放比例由操作符的实际记录条数与操作符的子操作符的实际记录条数确定。
进一步地,确定操作符的第二缩放比例,包括:
当操作符为一元操作符时,将操作符的实际记录条数与子操作符的实际记录条数的比值确定为第二缩放比例;
当操作符为连接类型的二元操作符时,将操作符的实际记录条数与内侧子操作符的实际记录条数的比值确定为第二缩放比例;
当操作符为非连接类型的二元操作符时,将第二缩放比例确定为第二设定值。
第二方面,本发明实施例还提供了一种数据传输装置,该数据传输装置包括:
操作符确定模块,用于根据接收的操作指令确定至少一个操作符;至少一个操作符构成树形结构,且各操作符为树形结构中的一个节点;
记录条数获取模块,用于若树形结构中包括第一操作符,则获取树形结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数;其中,第一操作符为过滤操作符或连接操作符;
记录条数更新模块,用于根据实际记录条数对设定记录条数进行更新;
数据传输模块,用于按照更新后的设定记录条数在树形结构中传输数据,返回执行获取树形结构中完成一次数据传输后各操作符的实际记录条数及设定的记录条数的操作,直到操作指令对应的数据完成传输。
第三方面,本发明实施例还提供了一种设备,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如本发明任意实施例中提供的数据传输方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明任意实施例提供的数据传输方法。
本发明实施例通过根据接收的操作指令确定至少一个操作符;至少一个操作符构成树形结构,且各操作符为树形结构中的一个节点;若树形结构中包括第一操作符,则获取树形结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数;其中,第一操作符为过滤操作符或连接操作符;根据实际记录条数对设定记录条数进行更新;按照更新后的设定记录条数在树形结构中传输数据,返回执行获取树形结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数的操作,直到操作指令对应的数据完成传输。在存在第一操作符的操作指令对应的树形结构中,在完成一次数据传输后根据各操作符的实际记录条数对设定记录条数进行更新,并按照更新后的设定记录条数进行数据传输直至操作指令对应的数据完成传输,可以根据操作指令执行期间各操作符间数据传输的具体特征,对不同操作符间的记录条数进行调整,解决了支持采用多条记录在操作符间进行数据传输的数据库系统,在执行操作指令期间各操作符间记录条数无法调整的问题,实现了数据传输时各操作符记录条数的动态设置,提高了操作符间记录条数设置的灵活性,降低了同样命令的响应时间。
附图说明
图1是本发明实施例一中的一种数据传输方法的流程图;
图2是本发明实施例二中的一种数据传输方法的流程图;
图3是本发明实施例三中的一种数据传输装置的结构示意图;
图4是本发明实施例四中的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以互相组合。
实施例一
图1为本发明实施例一提供的一种数据传输方法的流程图,本实施例可适用于数据库系统中根据操作指令各操作符间进行数据传输的情况,该方法可以由数据传输装置来执行,该数据传输装置可以由软件和/或硬件来实现,该数据传输装置可以配置在计算设备上,具体包括如下步骤:
S101、根据接收的操作指令确定至少一个操作符。
其中,至少一个操作符构成树形结构,且各操作符为树形结构中的一个节点。操作符可理解为用于表示指令逻辑规则的一种指令符号,操作符间可以单条记录或多条记录的形式进行数据传输。
可选的,根据操作符是否需要缓存可将操作符分为两类:A类操作符不需要对数据进行缓存,仅产生数据或对接收到的数据加工后直接向上返回,其向上输出的记录条数不大于它接收到的数据记录条数,其记录条数可直接继承自子操作符,示例性的,A类操作符可包括扫描、过滤、投影、TOP n、UNION ALL等操作符;B类操作符在执行时根据操作符的具体实现,可以在操作符缓冲区内放入小于、等于或大于接收到的数据记录条数的记录条数,并可对本身向上返回的记录条数进行自定义,示例性的,B类操作符可包括排序、分组、去重、连接等操作符。其中,记录条数可理解为数据库中各操作符间用于表示数据传输量的单位。
可选的,根据操作符在树形结构中的位置可将操作符分为三类:根节点操作符可理解为位于树形结构中根节点位置的操作符,其在树形结构中的等级最高,是最终接受返回数据的操作符;叶子操作符可理解为位于树形结构中叶子节点位置的操作符,其在树形结构中的等级最低,且不存在子操作符;中间节点操作符可理解为树形结构中位于除根节点与叶子节点外的节点的操作符。
具体的,在数据库系统中,为完成一个操作指令常需要多个操作符的协同进行,操作指令对应的执行计划通常可表示为操作符二叉树形式。在数据库系统接收到高层给出的一个操作指令时,由顶层向底层依次确定执行该操作指令所需的至少一个操作符,并根据数据传输的顺序将确定出的操作符构成一个树形结构,使得各操作符分别成为树形结构中的一个节点。
S102、若所述树形结构中包括第一操作符,则获取所述树形结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数;其中,所述第一操作符为过滤操作符或连接操作符。
其中,设定记录条数可理解为在操作符本次数据传输进行前设置的该操作符向上返回的记录条数;实际记录条数可理解为操作符本次数据传输后得到的实际向上返回的记录条数。
进一步地,操作符在进行计算优化时,其性能提升与记录条数成正比,但当记录条数增大至某一数量时性能不再提升,甚至会产生下降,将该临界数量确定为操作符的最大记录条数值Nmax,对于数据库系统中进行操作的所有操作符,在任意时刻,操作符的记录条数均应处于[1,Nmax]范围内,若操作符的记录条数超出该范围,则当操作符的记录条数大于Nmax时,将记录条数确定为Nmax,当操作符的记录条数小于1时,将记录条数确定为1。
具体的,若根据操作指令确定的操作符构成的树形结构中包含过滤操作符或连接操作符,则在树形结构中由叶子节点向根节点完成一次数据传输后,获取树形结构中各节点对应的操作符在本次数据传输前所设定的记录条数作为对应操作符的设定记录条数,以及在本次数据传输过程中各操作符实际向上返回的记录条数作为对应操作符的实际记录条数。
S103、根据所述实际记录条数对所述设定记录条数进行更新。
具体的,根据当前树形结构中包括的过滤操作符或连接操作符在本次数据传输中得到的实际记录条数,本次数据传输前的设定记录条数,以及过滤操作符或连接操作符对应的子操作符在本次数据传输中得到的实际记录条数对过滤操作符或连接操作符的设定记录条数进行更新,并由过滤操作符或连接操作符为起点,在当前树形结构中进行向下遍历,对在树形结构中的等级小于上述过滤操作符或连接操作符的操作符,根据其对应的操作符类型、其在本次数据传输中的实际记录条数,以及更新后的过滤操作符或连接操作符的设定记录条数对其设定记录条数进行更新。
S104、按照更新后的设定记录条数在所述树形结构中传输数据,返回执行获取所述属性结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数的操作,直到操作指令对应的数据完成传输。
具体的,在需要进行设定记录条数更新的操作符均将设定记录条数更新后,各操作符以更新后的设定记录条数再次在树形结构中由叶子节点向根节点完成一次数据传输,并根据再次数据传输后的各操作符的实际记录条数,及设定记录条数对树形结构中的操作符的设定记录条数进行更新,直到操作指令对应的数据完成传输,则停止对各操作符设定记录条数的更新。
本发明实施例通过根据接收的操作指令确定至少一个操作符;至少一个操作符构成树形结构,且各操作符为树形结构中的一个节点;若树形结构中包括第一操作符,则获取树形结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数;其中,第一操作符为过滤操作符或连接操作符;根据实际记录条数对设定记录条数进行更新;按照更新后的设定记录条数在树形结构中传输数据,返回执行获取树形结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数的操作,直到操作指令对应的数据完成传输。在存在第一操作符的操作指令对应的树形结构中,在完成一次数据传输后根据各操作符的实际记录条数对设定记录条数进行更新,并按照更新后的设定记录条数进行数据传输直至操作指令对应的数据完成传输,可以根据操作指令执行期间各操作符间数据传输的具体特征,对不同操作符间的记录条数进行调整,解决了支持采用多条记录在操作符间进行数据传输的数据库系统,在执行操作指令期间各操作符间记录条数无法调整的问题,实现了数据传输时各操作符记录条数的动态设置,提高了操作符间记录条数设置的灵活性,降低了同样命令的响应时间。
实施例二
图2为本发明实施例二提供的一种数据传输方法的流程图。本实施例的技术方案在上述技术方案的基础上进一步细化,具体包括如下步骤:
S201、根据接收的操作指令确定至少一个操作符,所述至少一个操作符构成树形结构,且各操作符为所述树形结构中的一个节点。
S202、根据各操作符的类型信息确定各操作符的初始记录条数,并将所述初始记录条数确定为设定记录条数。
其中,操作符的类型信息可理解为根据操作符是否需要缓存、在树形结构中的位置关系以及操作符所具有的子操作符类型等特征确定的操作符种类。初始记录条数可理解为根据接收的操作指令确定操作符并构成树形结构后,进行首次数据传输之前对树形结构中各操作符进行初始化,各操作符对应的记录条数。
具体的,在根据接收的操作指令确定操作符并构成树形结构,并未进行首次数据传输前,根据各操作符的类型信息确定各操作符对应的数据特征,估算各操作符适合的向上返回的记录条数,并利用上述估算的记录条数对各操作符进行初始化,得到各操作符的初始化记录条数,并将初始化记录条数确定为设定记录条数。
进一步地,根据各操作符的类型信息确定各操作符的初始记录条数,具体包括:
S2021、若类型信息为第一类型,则将确定的记录条数作为操作符的初始记录条数。
其中,第一类型为记录条数确定类型。
具体的,在进行操作符初始化的过程中,若操作符的类型为向上返回的记录条数已经确定的记录条数确定类型,则将该确定的记录条数作为该操作符的初始记录条数。示例性的,在数据库系统中,TOP n操作符即为明确知晓向上返回记录条数的操作符。
S2022、若类型信息为第二类型,则将第一设定值确定为操作符的初始记录条数。
其中,第二类型为叶子操作符;叶子操作符可理解为没有子操作符的操作符,可选的,在数据库系统中,叶子操作符常为用于扫描获取数据表中数据的SCAN操作符。
具体的,在进行操作符初始化的过程中,若操作符的类型为叶子操作符,则将该操作符的初始记录条数确定为根据根节点类型确定的第一设定值。其中,第一设定值可为根据根节点类型信息确定的估算向上返回的记录条数,也可为在操作符初始化前根据游标获取结果语句确定的记录条数。
S2023、若类型为第三类型,则根据第一设定值及操作符的第一缩放比例确定初始记录条数。
其中,第三类型与第一类型和第二类型均不同,即第三类型为除叶子操作符和记录条数确定类型操作符外的数据库系统中的其他操作符。
其中,第一缩放比例可理解为根据操作符类型信息确定的操作符估算向上返回的记录条数,与根据操作符类确定的该操作符的子操作符估算向上返回的记录条数确定的比值。
具体的,在进行操作符初始化的过程中,若操作符的类型为除叶子操作符和记录条数确定类型操作符外的数据库系统中的其他操作符时,则利用该操作符的估算向上返回的记录条数以及该操作符的子操作符的估算向上返回的记录条数的比值确定该操作符对应的第一缩放比例,并将第一设定值与上述第一缩放比例的比值确定为该操作符对应的初始记录条数。
进一步地,操作符的第一缩放比例的确定,包括:
当操作符为一元操作符时,将操作符的估算记录条数与子操作符的估算记录条数的比值确定为第一缩放比例。
其中,一元操作符,可理解为树形结构中仅有一个子操作符的操作符;估算记录条数可理解为根据操作符类型信息确定出的估算该操作符进行数据传输过程中向上返回的记录条数。
具体的,当操作符为一元操作符时,根据该操作符的类型信息确定该操作符的估算记录条数,并根据该操作符的子操作符的类型信息确定该子操作符的估算记录条数,并将该操作符的估算记录条数与子操作符的估算记录条数的比值确定为第一缩放比例。
当操作符为连接类型的二元操作符时,将操作符的估算记录条数与内侧子操作符的估算记录条数的比值确定为第一缩放比例。
其中,连接类型的二元操作符可理解为用于连接两个数据表的具有两个子操作符的操作符,其外侧子操作符常用与数据包的创建与数据的缓存,内侧子操作符为连接类型的二元操作符进行数据检测的子操作符。示例性的,数据库系统中HASH JOIN操作符即为一种二元操作符,其外侧子操作符用于创建HASH表缓存数据,内侧子操作符用于到HASH表中进行探测、匹配。
具体的,当操作符为连接类型的二元操作符时,根据该操作符的类型信息确定其内侧子操作符,分别获取该操作符的估算记录条数以及其内侧子操作符的估算记录条数,并将该操作符的估算记录条数与内侧子操作符的估算记录条数的比值确定为第一缩放比例。
当操作符为非连接类型的二元操作符时,将第一缩放比例确定为第二设定值。
其中,非连接类型的二元操作符可理解为具有两个子操作符的操作符,且该二元操作符无需进行数据的缓存,示例性的,非连接类型的二元操作符可包括集合运算操作符,并集运算操作符,交集运算操作符等。
具体的,当操作符为非连接类型的二元操作符时,可认为该操作符相对于其子操作符无需进行缩放,故将其对应的第一缩放比例确定为第二设定值。可选的,第二设定值可为1,本发明实施例对此不进行限制。
S203、若所述树形结构中包括第一操作符,则获取所述树形结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数;其中,所述第一操作符为过滤操作符或连接操作符。
S204、对于第一操作符,计算所述第一操作符的实际记录条数与所述第一操作符的子操作符的实际记录条数的比值,根据所述比值对所述设定记录条数进行更新,获得更新值。
具体的,对于树形结构中包括的过滤操作符或连接操作符,在完成一次数据传输后获取其在本次数据传输中实际向上返回的记录条数作为实际记录条数,获取该过滤操作符或连接操作符的子操作符在本次数据传输中实际向上返回的记录条数,并计算本次数据传输中该第一操作符的实际记录条数与其对应的子操作符的实际记录条数的比值作为该第一操作符的缩放比例信息,并将第一操作符在本次数据传输前确定的设定记录条数与上述缩放比例信息的比值确定为更新后的第一操作符的设定记录条数,将其作为更新值。
S205、下行遍历第二操作符,根据所述更新值、类型信息及实际记录条数中的至少一项对遍历到的第二操作符的设定记录条数进行更新。
其中,第二操作符可理解为在树形结构中的等级小于第一操作符在树形结构中的等级的操作符。
具体的,在对第一操作符的设定记录条数进行更新后,继续下行遍历树形结构中的其他操作符,依次对树形结构中等级小于第一操作符在树形结构中等级的操作符的设定记录条数进行更新,直到叶子操作符完成更新后可认为本次更新结束并再次进行数据传输,根据第二操作符类型信息的不同,利用第一操作符的更新值、第二操作符在本次数据传输中获取的实际记录条数及第二操作符对应子操作符的实际记录条数等信息对不同的第二操作符的设定记录条数进行更新。
进一步地,根据所述更新值、类型信息及实际记录条数中的至少一项对遍历到的第二操作符的设定记录条数进行更新,具体包括:
S2051、若类型信息为第一类型,则将设定记录条数更新为确定的记录条数。
具体的,由于第一类型为记录条数确定类型,故该类型的操作符在数据传输过程中的向上返回的记录条数不发生变化,则将该操作符确定的记录条数作为更新的设定记录条数。
S2052、若类型信息为第二类型,则将设定记录条数更新为操作符父操作符的设定记录条数。
具体的,由于第二类型为叶子操作符,为树形结构中最后进行更新的操作符,为保证其父操作符能够接收到适合数量记录条数的反馈,则将该叶子操作符的设定记录条数更新为其父操作符在本次数据传输后更新的设定记录条数,以保证传输效率的最大化,实现响应时间的缩短。
S2053、若类型信息为第三类型,则根据更新值及操作符的第二缩放比例更新设定记录条数。
其中,第二缩放比例由操作符的实际记录条数与操作符的子操作符的实际记录条数确定。
具体的,当所需进行设定记录条数更新的操作符既非叶子操作符也非记录条数确定类型操作符时,则利用该操作符在本次数据传输过程中的实际记录条数与该操作符的子操作符的实际记录条数的比值确定该操作符的第二缩放比例,判断第二缩放比例与预设数值的大小情况,当第二缩放比例大于预设数值时,将第一操作符更新值与第二缩放比例的比值作为该第二操作符更新后的设定记录条数;当第二缩放比例小于预设数值时,将第一操作符更新值与预设数值的比值作为该第二操作符更新后的设定记录条数。可选的,预设数值可由预先设置得到,为经验数值,具体可为0.1,本发明实施例对此不进行限制。
进一步地,操作符的第二缩放比例的确定,包括:
当操作符为一元操作符时,将操作符的实际记录条数与子操作符的实际记录条数的比值确定为第二缩放比例。
具体的,当操作符为一元操作符时,获取本次数据传输中该操作符的实际记录条数以及该操作符对应的子操作符的实际记录条数,并将该操作符的实际记录条数与子操作符的实际记录条数的比值确定为该操作符的第二缩放比例。
当操作符为连接类型的二元操作符时,将操作符的实际记录条数与内侧子操作符的实际记录条数的比值确定为第二缩放比例。
具体的,当操作符为连接类型的二元操作符时,根据该操作符的类型信息确定其内侧子操作符,分别获取该操作符在本次数据传输过程中的实际记录条数以及其内侧子操作符的实际记录条数,并将该操作符的实际记录条数与内侧子操作符的实际记录条数的比值确定为该操作符对应的第二缩放比例。
当操作符为非连接类型的二元操作符时,将第二缩放比例确定为第二设定值。
具体的,当操作符为非连接类型的二元操作符时,可认为该操作符相当于其子操作符无需进行缩放,故将其对应的第二缩放比例确定为第二设定值。可选的,第二设定值可为1,本发明实施例对此不进行限制。
S206、按照更新后的设定记录条数在所述树形结构中传输数据,返回执行获取所述属性结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数的操作,直到操作指令对应的数据完成传输。
示例性的,以一个游标查询的例子对本发明实施例中的数据传输方法进行说明,下述语句定义了一个对应SQL查询语句“SELECT*FROM t1 WHERE substr(c1,0,3)=’abc’”的游标mycursor,其中语句Q1通过游标获取了一条记录,而其后的语句Q2通过游标获取了5000条记录,具体的,SQL语句可表示如下:
…
CURSOR mycursor IS SELECT*FROM t1 WHERE substr(c1,0,3)>’abc’;
…
FETCH from mycursor INTO…;//Q1:取1条记录
…
FETCH from BULK COLLECT INTO…LIMIT 5000;//Q2:取5000条记录
…
在进行第一次数据传输之前,对该操作指令下确定的操作符进行初始化记录条数的设定,可知该操作指令对应过滤操作符FILTER和扫描操作符SCAN,其中,过滤操作符FILTER的估算记录条数为CE(FILTER)=200,扫描操作符SAN的估算记录条数CE(SCAN)=10000。则该操作指令下的数据传输过程如下所示:
1)根据Q1语句中的FETCH语句可知,预设第一设定值为1,即当前预设操作符向上返回的记录条数为1;
2)从根节点操作符开始向下递归遍历,对于作为根节点的FILTER操作符,根据其估算记录条数以及作为其子操作符的SCAN操作符的估算记录条数,对FILTER操作符进行初始化,FILTER操作符的第一缩放比例SE(FILTER)=CE(FILTER)/CE(SCAN)=200/10000=0.02,则确定其设定记录条数N(FILTER)=1/0.02=50;
3)递归至SCAN操作符时,由于SCAN操作符为叶子操作符,则其设定记录条数保持与根节点设定记录条数相同,则确定其设定记录条数N(SCAN)=50。
以上,SCAN的初始数据缓冲大小为50,可预期每50条就有一条记录符合过滤条件,在执行过程中,若实际扫描了50条记录仍没有符合过滤条件的记录,则在执行了操作指令对应的操作符中的过滤操作符后,触发对N(FILTER)的更新。
1)在执行一次数据传输后,若FILTER操作符对50条记录进行过滤后仍没有一条符合条件的记录,则此时FILTER操作符的实际记录条数CA(FILTER)=0,则其对应的利用其子操作符SCAN的实际记录条数确定的第二缩放比例SA(FILTER)=CA(FITLER)/CA(SCAN)=0,此时通过FILTER操作符的设定记录条数以及第二缩放比例对设定记录条数进行更新,得到更新的设定记录条数为N’(FILTER)=N(FILTER)/MAX(0.1,SA(FILTER))=500,故此时更新后的设定记录条数为500。
2)由FILTER操作符对操作指令对应的操作符构成的树形结构进行下行遍历递归,到SCAN操作符,由于SCAN操作符为叶子操作符,则更新后的SCAN操作符的设定记录条数为其父操作符更新后的设定记录条数,N’(SCAN)=N’(FILTER)=500。
故在下一次数据传输过程中,SCAN操作符将会传递500条记录给FILTER操作符,以增加FILTER操作符的命中过滤条件的概率。
进一步地,假设该数据库系统中确定的操作符的最大记录条数值为Nmax预设为4096,则当初始化执行的为Q2语句的步骤时:
1)根据Q1语句中的FETCH语句可知,预设第一设定值为5000,但由于Nmax为4096小于5000,因此确定的第一设定值为4096;
2)从根节点操作符开始向下递归遍历,对于作为根节点的FILTER操作符,根据其估算记录条数以及作为其子操作符的SCAN操作符的估算记录条数,对FILTER操作符进行初始化,FILTER操作符的第一缩放比例SE(FILTER)=CE(FILTER)/CE(SCAN)=200/10000=0.02,则确定其设定记录条数N(FILTER)=4096/0.02=204800>Nmax,因此,FILTER操作符的设定记录条数仍设定为N(FILTER)=4096;
3)递归至SCAN操作符时,由于SCAN操作符为叶子操作符,则其设定记录条数保持与根节点设定记录条数相同,则确定其设定记录条数N(SCAN)=4096。
假设在执行过程中,在执行一次数据传输后,若符合过滤条件者有2048条,此时为调整FILTER操作符设定记录条数的时机,触发更新操作。此时FILTER操作符的实际记录条数为CA(FILTER)=2048,FILTER操作符的第二缩放比例SA(FILTER)=CA(FILTER)/CA(SCAN)=2048/4096=0.5,则此时对FILTER操作符的设定记录条数进行更新得到的N’(FILTER)=N(FILTER)/MAX(0.1,SA(FILTER))=8192>Nmax,因此此时FILTER操作符的更新后的设定记录条数为N’(FILTER)=4096。
本实施例的技术方案,在根据操作指令确定操作符并形成树形结构,进行第一次数据传输前,首先根据树形结构中各操作符的类型信息对其进行设定记录条数的初始化,使其在首次传输过程中即可采用较为适合的记录条数进行数据的向上返回,并在每完成一次数据传输时,根据各操作符的实际记录条数对设定记录条数进行更新,并按照更新后的设定记录条数进行数据传输,直到操作指令对应的数据完成传输,可以根据每次数据传输过程中各操作符间数据传输的具体特征,对不同操作符的设定记录条数进行调整,实现了数据传输时各操作符记录条数的动态设置,优化了数据传输效果并降低了对同样命令的响应时间。
实施例三
图3为本发明实施例三提供的一种数据传输装置的结构示意图,该数据传输装置包括:操作符确定模块31,记录条数获取模块32,记录条数更新模块33和数据传输模块34。
其中,操作符确定模块31,用于根据接收的操作指令确定至少一个操作符;所述至少一个操作符构成树形结构,且各操作符为所述树形结构中的一个节点;记录条数获取模块32,用于若所述树形结构中包括第一操作符,则获取所述树形结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数;其中,所述第一操作符为过滤操作符或连接操作符;记录条数更新模块33,用于根据所述实际记录条数对所述设定记录条数进行更新;数据传输模块34,用于按照更新后的设定记录条数在所述树形结构中传输数据,返回执行获取所述树形结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数的操作,直到操作指令对应的数据完成传输。
本实施例的技术方案,解决了支持采用多条记录在操作符间进行数据传输的数据库系统,在执行操作指令期间各操作符间记录条数无法调整的问题,实现了数据传输时各操作符记录条数的动态设置,提高了操作符间记录条数设置的灵活性,降低了同样命令的响应时间。
可选的,该数据传输装置,还包括:
记录条数初始化模块,用于根据各操作符的类型信息确定各操作符的初始记录条数,并将所述初始记录条数确定为设定记录条数。
可选的,记录条数初始化模块,具体用于若所述类型信息为第一类型,则将确定的记录条数作为操作符的初始记录条数;所述第一类型为记录条数确定类型;若所述类型信息为第二类型,则将第一设定值确定为操作符的初始记录条数;所述第二类型为叶子操作符;若所述类型为第三类型,则根据所述第一设定值及所述操作符的第一缩放比例确定初始记录条数;所述第三类型与所述第一类型和第二类型均不同。
进一步地,确定所述操作符的第一缩放比例,包括:
当所述操作符为一元操作符时,将所述操作符的估算记录条数与子操作符的估算记录条数的比值确定为所述第一缩放比例;当所述操作符为连接类型的二元操作符时,将所述操作符的估算记录条数与内侧子操作符的估算记录条数的比值确定为所述第一缩放比例;其中,所述内侧子操作符为所述连接类型的二元操作符进行数据检测的子操作符;当所述操作符为非连接类型的二元操作符时,将所述第一缩放比例确定为第二设定值。
可选的,记录条数更新模块33包括:
第一操作符更新单元,用于对于第一操作符,计算所述第一操作符的实际记录条数与所述第一操作符的子操作符的实际记录条数的比值,根据所述比值对所述设定记录条数进行更新,获得更新值。
第二操作符更新单元,用于下行遍历第二操作符,根据所述更新值、类型信息及实际记录条数中的至少一项对遍历到的第二操作符的设定记录条数进行更新;所述第二操作符在树形结构中的等级小于所述第一操作符在树形结构中的等级。
进一步地,第二操作符更新单元具体用于,若所述类型信息为所述第一类型,则将设定记录条数更新为确定的记录条数;若所述类型信息为所述第二类型,则将设定记录条数更新为所述操作符父操作符的设定记录条数;若所述类型信息为所述第三类型,则根据所述更新值及所述操作符的第二缩放比例更新设定记录条数,其中,所述第二缩放比例由所述操作符的实际记录条数与所述操作符的子操作符的实际记录条数确定。
进一步地,确定所述操作符的第二缩放比例,包括:
当所述操作符为一元操作符时,将所述操作符的实际记录条数与子操作符的实际记录条数的比值确定为所述第二缩放比例;当所述操作符为连接类型的二元操作符时,将所述操作符的实际记录条数与内侧子操作符的实际记录条数的比值确定为所述第二缩放比例;当所述操作符为非连接类型的二元操作符时,将所述第二缩放比例确定为第二设定值。
本发明实施例所提供的数据传输装置可执行本发明任意实施例所提供的数据传输方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4为本发明实施例四提供的一种设备的结构示意图,如图4所示,该设备包括处理器41、存储装置42、输入装置43和输出装置44;设备中处理器41的数量可以是一个或多个,图4中以一个处理器41为例;设备中的处理器41、存储装置42、输入装置43和输出装置44可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储装置42作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的数据传输方法对应的程序指令/模块(例如,操作符确定模块31,记录条数获取模块32,记录条数更新模块33和数据传输模块34)。处理器41通过运行存储在存储装置42中的软件程序、指令以及模块,从而执行车辆的各种功能应用以及数据处理,即实现上述的数据传输方法。
存储装置42可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置42可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置42可进一步包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至车辆。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置43可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入,可以包括触屏、键盘和鼠标等。输出装置44可包括显示屏等显示设备。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种数据传输方法,该方法包括:
根据接收的操作指令确定至少一个操作符;至少一个操作符构成树形结构,且各操作符为树形结构中的一个节点;
若树形结构中包括第一操作符,则获取树形结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数;其中,第一操作符为过滤操作符或连接操作符;
根据实际记录条数对设定记录条数进行更新;
按照更新后的设定记录条数在树形结构中传输数据,返回执行获取树形结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数的操作,直到操作指令对应的数据完成传输。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的数据传输方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述搜索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种数据传输方法,其特征在于,包括:
根据接收的操作指令确定至少一个操作符;所述至少一个操作符构成树形结构,且各操作符为所述树形结构中的一个节点;
若所述树形结构中包括第一操作符,则获取所述树形结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数;其中,所述第一操作符为过滤操作符或连接操作符;
根据所述实际记录条数对所述设定记录条数进行更新;
按照更新后的设定记录条数在所述树形结构中传输数据,返回执行获取所述树形结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数的操作,直到操作指令对应的数据完成传输。
2.根据权利要求1所述的方法,其特征在于,在根据接收的操作指令确定至少一个操作符之后,获取所述树形结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数之前,还包括:
根据各操作符的类型信息确定各操作符的初始记录条数,并将所述初始记录条数确定为设定记录条数。
3.根据权利要求2所述的方法,其特征在于,根据各操作符的类型信息确定各操作符的初始记录条数,包括:
若所述类型信息为第一类型,则将确定的记录条数作为操作符的初始记录条数;所述第一类型为记录条数确定类型;
若所述类型信息为第二类型,则将第一设定值确定为操作符的初始记录条数;所述第二类型为叶子操作符;
若所述类型为第三类型,则根据所述第一设定值及所述操作符的第一缩放比例确定初始记录条数;所述第三类型与所述第一类型和第二类型均不同。
4.根据权利要求3所述的方法,其特征在于,确定所述操作符的第一缩放比例,包括:
当所述操作符为一元操作符时,将所述操作符的估算记录条数与子操作符的估算记录条数的比值确定为所述第一缩放比例;
当所述操作符为连接类型的二元操作符时,将所述操作符的估算记录条数与内侧子操作符的估算记录条数的比值确定为所述第一缩放比例;其中,所述内侧子操作符为所述连接类型的二元操作符进行数据检测的子操作符;
当所述操作符为非连接类型的二元操作符时,将所述第一缩放比例确定为第二设定值。
5.根据权利要求3所述的方法,其特征在于,根据所述实际记录条数对所述设定记录条数进行更新,包括:
对于第一操作符,计算所述第一操作符的实际记录条数与所述第一操作符的子操作符的实际记录条数的比值,根据所述比值对所述设定记录条数进行更新,获得更新值;
下行遍历第二操作符,根据所述更新值、类型信息及实际记录条数中的至少一项对遍历到的第二操作符的设定记录条数进行更新;所述第二操作符在树形结构中的等级小于所述第一操作符在树形结构中的等级。
6.根据权利要求5所述的方法,其特征在于,根据所述更新值、类型信息及实际记录条数中的至少一项对遍历到的第二操作符的设定记录条数进行更新,包括:
若所述类型信息为所述第一类型,则将设定记录条数更新为确定的记录条数;
若所述类型信息为所述第二类型,则将设定记录条数更新为所述操作符父操作符的设定记录条数;
若所述类型信息为所述第三类型,则根据所述更新值及所述操作符的第二缩放比例更新设定记录条数,其中,所述第二缩放比例由所述操作符的实际记录条数与所述操作符的子操作符的实际记录条数确定。
7.根据权利要求6所述的方法,其特征在于,确定所述操作符的第二缩放比例,包括:
当所述操作符为一元操作符时,将所述操作符的实际记录条数与子操作符的实际记录条数的比值确定为所述第二缩放比例;
当所述操作符为连接类型的二元操作符时,将所述操作符的实际记录条数与内侧子操作符的实际记录条数的比值确定为所述第二缩放比例;
当所述操作符为非连接类型的二元操作符时,将所述第二缩放比例确定为第二设定值。
8.一种数据传输装置,其特征在于,包括:
操作符确定模块,用于根据接收的操作指令确定至少一个操作符;所述至少一个操作符构成树形结构,且各操作符为所述树形结构中的一个节点;
记录条数获取模块,用于若所述树形结构中包括第一操作符,则获取所述树形结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数;其中,所述第一操作符为过滤操作符或连接操作符;
记录条数更新模块,用于根据所述实际记录条数对所述设定记录条数进行更新;
数据传输模块,用于按照更新后的设定记录条数在所述树形结构中传输数据,返回执行获取所述树形结构中完成一次数据传输后各操作符的实际记录条数及设定记录条数的操作,直到操作指令对应的数据完成传输。
9.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一所述的数据传输方法。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010633733.4A CN111753028B (zh) | 2020-07-02 | 2020-07-02 | 数据传输方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010633733.4A CN111753028B (zh) | 2020-07-02 | 2020-07-02 | 数据传输方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111753028A true CN111753028A (zh) | 2020-10-09 |
CN111753028B CN111753028B (zh) | 2023-08-25 |
Family
ID=72679102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010633733.4A Active CN111753028B (zh) | 2020-07-02 | 2020-07-02 | 数据传输方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111753028B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1947118A (zh) * | 2004-04-22 | 2007-04-11 | 甲骨文国际公司 | 部分查询缓存 |
US20130238665A1 (en) * | 2010-12-10 | 2013-09-12 | Vincent Sequin | Managing records displayed in a tree list |
US20150066972A1 (en) * | 2013-09-05 | 2015-03-05 | Futurewei Technologies, Inc. | Mechanism for Optimizing Parallel Execution of Queries on Symmetric Resources |
CN106202102A (zh) * | 2015-05-06 | 2016-12-07 | 华为技术有限公司 | 批量数据查询方法和装置 |
CN108228817A (zh) * | 2017-12-29 | 2018-06-29 | 华为技术有限公司 | 数据处理方法、装置和系统 |
CN108446289A (zh) * | 2017-09-26 | 2018-08-24 | 北京中安智达科技有限公司 | 一种支持异构数据库的数据检索方法 |
CN108829735A (zh) * | 2018-05-21 | 2018-11-16 | 上海达梦数据库有限公司 | 并行执行计划的同步方法、装置、服务器及存储介质 |
CN109522326A (zh) * | 2018-10-18 | 2019-03-26 | 上海达梦数据库有限公司 | 数据分发方法、装置、设备及存储介质 |
US20190354296A1 (en) * | 2018-05-16 | 2019-11-21 | International Business Machines Corporation | Data Management in Shared Storage Systems |
-
2020
- 2020-07-02 CN CN202010633733.4A patent/CN111753028B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1947118A (zh) * | 2004-04-22 | 2007-04-11 | 甲骨文国际公司 | 部分查询缓存 |
US20130238665A1 (en) * | 2010-12-10 | 2013-09-12 | Vincent Sequin | Managing records displayed in a tree list |
US20150066972A1 (en) * | 2013-09-05 | 2015-03-05 | Futurewei Technologies, Inc. | Mechanism for Optimizing Parallel Execution of Queries on Symmetric Resources |
CN106202102A (zh) * | 2015-05-06 | 2016-12-07 | 华为技术有限公司 | 批量数据查询方法和装置 |
CN108446289A (zh) * | 2017-09-26 | 2018-08-24 | 北京中安智达科技有限公司 | 一种支持异构数据库的数据检索方法 |
CN108228817A (zh) * | 2017-12-29 | 2018-06-29 | 华为技术有限公司 | 数据处理方法、装置和系统 |
WO2019128318A1 (zh) * | 2017-12-29 | 2019-07-04 | 华为技术有限公司 | 数据处理方法、装置和系统 |
US20190354296A1 (en) * | 2018-05-16 | 2019-11-21 | International Business Machines Corporation | Data Management in Shared Storage Systems |
CN108829735A (zh) * | 2018-05-21 | 2018-11-16 | 上海达梦数据库有限公司 | 并行执行计划的同步方法、装置、服务器及存储介质 |
CN109522326A (zh) * | 2018-10-18 | 2019-03-26 | 上海达梦数据库有限公司 | 数据分发方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
CHENXIAO DOU.ET AL: "Active Learning with Density-Initialized Decision Tree for Record Matching", SSDBM \'17: PROCEEDINGS OF THE 29TH INTERNATIONAL CONFERENCE ON SCIENTIFIC AND STATISTICAL DATABASE MANAGEMENT, pages 1 * |
黄志真,杨武: "数据库SQL查询优化方法的研究", 兵工自动化, no. 01, pages 25 - 27 * |
Also Published As
Publication number | Publication date |
---|---|
CN111753028B (zh) | 2023-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11314823B2 (en) | Method and apparatus for expanding query | |
US8396852B2 (en) | Evaluating execution plan changes after a wakeup threshold time | |
EP1738290B1 (en) | Partial query caching | |
CN113010547B (zh) | 一种基于图神经网络的数据库查询优化方法及系统 | |
US20100228742A1 (en) | Categorizing Queries and Expanding Keywords with a Coreference Graph | |
US10783142B2 (en) | Efficient data retrieval in staged use of in-memory cursor duration temporary tables | |
US9218394B2 (en) | Reading rows from memory prior to reading rows from secondary storage | |
CN107145549B (zh) | 一种数据库缓存控制方法以及系统 | |
Vojnović et al. | Ranking and suggesting popular items | |
JP2020123320A (ja) | インデックスを管理するための方法、装置、設備及び記憶媒体 | |
Lee et al. | CrowdK: Answering top-k queries with crowdsourcing | |
CN111325254B (zh) | 构建条件关系网络、进行条件业务处理的方法及装置 | |
US9940372B2 (en) | Triggering method for instant search | |
US20090328014A1 (en) | Compiler based code modification for use in document ranking | |
CN112199390B (zh) | 一种数据库中数据查询方法、装置、设备及存储介质 | |
CN108959571B (zh) | Sql语句的运算方法、装置、终端设备及存储介质 | |
CN112162986B (zh) | 一种并行top-k范围skyline查询方法和系统 | |
CN116383412B (zh) | 基于知识图谱的功能点扩增方法和系统 | |
CN110442616B (zh) | 一种针对大数据量的页面访问路径分析方法与系统 | |
CN110059243B (zh) | 数据引擎优化方法、装置、设备和计算机可读存储介质 | |
WO2021030138A1 (en) | Cost-based optimization for document-oriented database queries | |
US9135302B2 (en) | Query rewrite with a nested materialized view | |
CN111753028A (zh) | 数据传输方法、装置、设备及存储介质 | |
Trushkowsky et al. | Getting it all from the crowd | |
US20220284060A1 (en) | Question Answering Method and Apparatus Based on Knowledge Graph |
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 |