CN101567006A - 一种数据库系统及分布式sql语句执行计划重用方法 - Google Patents
一种数据库系统及分布式sql语句执行计划重用方法 Download PDFInfo
- Publication number
- CN101567006A CN101567006A CNA2009101077739A CN200910107773A CN101567006A CN 101567006 A CN101567006 A CN 101567006A CN A2009101077739 A CNA2009101077739 A CN A2009101077739A CN 200910107773 A CN200910107773 A CN 200910107773A CN 101567006 A CN101567006 A CN 101567006A
- Authority
- CN
- China
- Prior art keywords
- sql statement
- subscript value
- execution
- client
- execution plan
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种数据库系统及分布式SQL语句执行计划重用方法,所述系统包括客户端服务器和数据库服务器;所述方法为:客户端接收到用户的SQL语句后,对其进行hash运算,根据得到的hash表下标值在本地hash表中查找所述SQL语句,找到后读取所述SQL语句在服务端执行计划缓存数组中的下标值,将所述SQL语句和所述下标值发送给服务端;服务端接收到客户端的请求包后,解析所述请求包,根据得到的SQL语句和执行计划缓存数组下标值,找到相应的执行计划并使用所述执行计划执行,执行结束后将结果返回给所述客户端。本发明减轻了数据库服务器的负担,也提高了数据库系统的计算能力使用率。
Description
技术领域
本发明涉及数据库系统领域,特别是涉及了一种数据库系统及分布式结构化查询语言(Structured Query Language,SQL)语句执行计划重用方法。
背景技术
在数据库界,最为普遍接受的语法标准是SQL92,即ansix3.135-1992中“数据库语言SQL”一节所规定的语法标准,该标准规定了数据库用户操作数据库服务器的接口标准,它是一种纯文本接口,这就意味着:在任何支持SQL92标准的数据库中,一定会存在将客户端发来的SQL语句文本串转换为内部可执行数据结构和代码的过程,这种转换后的内部数据结构和代码在数据库界通称为“执行计划”,这种转换过程通称为“硬解析”。
由于SQL语法本身的可扩展、可连接、可嵌套等特性,一个SQL语句可能复杂到匪夷所思的程度,SQL语法解析器要做到通用和兼容,必须各种语句都要支持,所以硬解析是极其复杂和耗时的过程,若每个SQL语句执行时都硬解析一次,那么数据库的性能必定是极其低下的。因此,为了提高性能,任何商用数据库都会有执行计划重用功能,即相同语句仅在第一次执行时进行硬解析,解析完成后SQL语句及其执行计划被缓存下来,再次执行相同语句时,通过对SQL语句进行hash运算匹配到上次的执行计划,就可以重用执行计划,省去了大量的硬解析操作。
可以看出,对SQL语句进行hash运算的过程十分关键,该运算的速度和结果离散度直接决定了执行计划重用的速度。如图1所示,在传统的数据库中,SQL语句匹配的过程都是在数据库服务端进行的,客户端仅负责发送语句和接收结果;而服务端不仅需要对所有接收到的SQL语句进行hash运算,并且还要对第一次执行的SQL语句进行硬解析并存储,当服务端连接的客户端非常多、执行语句非常频繁时,hash匹配运算对服务端也将产生巨大的压力,离散度越高的hash算法会导致服务端的中央处理器(CPU)负荷越高,这个问题在内存数据库中体现得尤其明显,因为内存数据库几乎没有I/O的负担,所以瓶颈一定是体现在CPU密集型操作上,而hash运算就是一种典型的CPU密集型操作。
这种完全集中于服务端的SQL匹配模式有以下弊端:
1、所有hash运算压力完全放在服务端,客户端除了发送语句和接收结果外什么都不做,造成等待结果期间客户端计算能力的闲置和浪费;
2、全部在服务端进行CPU密集型的hash运算将造成服务端的性能瓶颈,不利于客户端数量的扩展,也影响了后续其余处理步骤的效率。
发明内容
本发明所要解决的技术问题是,提供一种数据库系统及分布式SQL语句执行计划重用方法,本发明减轻了数据库服务器的负担,也提高了数据库系统的计算能力使用率。
本发明公开了一种数据库系统,包括客户端服务器和数据库服务器,所述
客户端服务器用于在启动时创建hash表,用于对用户发送的SQL语句进行hash运算,以及根据得到的hash表下标值从所述hash表中查找相应SQL语句在服务端的执行计划缓存数组的下标值,并在查找到时,读取所述下标值,并将所述SQL语句与所述下标值发送给所述数据库服务器;在未查找到时将仅所述SQL语句发送给所述数据库服务器;
数据库服务器用于在启动时创建执行计划缓存数组,用于解析并判断所述客户端服务器发送来的请求包中是否携带有合法有效的下标值,并在解析结果中存在合法有效的下标值时,通过所述下标值查找相应的执行计划并使用所述执行计划执行,将执行结果返回给所述客户端服务器;在解析结果中不存在下标值或者下标值非法/失效时,硬解析所述请求包携带的SQL语句,并在所述执行计划缓存数组中为其分配空闲节点,将硬解析得到的执行计划和所述SQL语句存入所述节点,记录所述节点的下标值,使用得到的执行计划执行,将执行结果和所述记录的下标值返回给所述客户端服务器。
所述客户端服务器还用于解析所述数据库服务器返回的响应包,将执行结果返回给用户,用于判断所述响应包中是否携带有下标值;在响应包携带有下标值时,判断本地hash表中是否存在当前SQL语句,若存在,则将其对应的下标值更新成当前解析得到的下标值;若不存在,则将当前SQL语句和解析得到的下标值存入本地hash表中。
本发明还在所述数据库系统的基础上公开了一种分布式SQL语句执行计划重用方法,所述方法包括:
客户端接收到用户的SQL语句后,对其进行hash运算,根据得到的hash表下标值在本地hash表中查找所述SQL语句,找到后读取所述SQL语句在服务端执行计划缓存数组中的下标值,将所述SQL语句和所述下标值发送给服务端;
服务端接收到客户端的请求包后,解析所述请求包,根据得到的SQL语句和执行计划缓存数组下标值,找到相应的执行计划并使用所述执行计划执行,执行结束后将结果返回给所述客户端。
若所述客户端在本地hash表中没有查找到所述SQL语句,则仅将所述SQL语句发送给所述服务端。
若所述服务端从接收到的请求包中没有携带下标值或者携带的下标值非法/失效,则执行如下操作:
步骤a:硬解析所述SQL语句,得到执行计划;
步骤b:在执行计划缓存数组中为所述SQL语句分配一个空闲节点,将所述SQL语句及其执行计划存入所述节点,并记录所述节点的下标值;
步骤c:使用所述执行计划执行,得到执行结果;
步骤d:将执行结果和记录的下标值返回给所述客户端。
所述客户端接收到服务端返回的响应包后,执行如下步骤:
步骤A:解析并判断所述响应包中是否携带有下标值,若是,则执行步骤B;否则,执行步骤C;
步骤B:根据hash表下标值查找本地hash表中是否存在当前SQL语句,若是,则将其对应的执行计划缓存数组下标值更新成解析得到的下标值;否则,根据所述hash表下标值将当前SQL语句和解析得到的下标值存入本地hash表中;
步骤C:将执行结果返回给用户。
所述方法还包括:
所述客户端在启动时创建hash表;
所述服务端在启动时创建执行计划缓存数组。
所述hash表的记录数大于等于本客户端上可执行的SQL语句种类数,且每条记录都具有一个冲突链表;
所述执行计划缓存数组的节点数大于等于数据库系统的SQL语句种类数,且每个节点都具有指针。
所述客户端将hash表下标值相同的SQL语句及其执行计划缓存数组下标值存储在所述hash表下标值对应记录的冲突链表的不同节点中。
所述服务端硬解析得到SQL语句的执行计划后,将所述SQL语句及其执行计划存入预先申请的结构体中,并使得为该SQL语句分配的执行计划缓存数组的节点的指针指向所述结构体;
所述客户端通过遍历所述hash表记录的冲突链表来查找其中是否存在当前SQL语句。
本发明将对SQL语句进行hash运算的过程分散到所有客户端,从而将运算负荷平均分布到整个数据库系统中所有成员机器,不仅大大减轻了数据库服务器的负担,极大地提高了数据库服务器的处理能力,也提高了整个数据库系统的计算能力使用率。
附图说明
图1是传统的执行计划重用方法示意图;
图2是本发明所述系统示意图;
图3是本发明所述方法总体流程示意图;
图4是本发明所述方法实施例一流程示意图。
具体实施方式
以下结合附图和优选实施例,对本发明做进一步详细说明。
如图2所示,是本发明所述数据库系统示意图,包括客户端服务器和数据库服务器,客户端服务器与数据库服务器直接以TCP/IP协议通信,客户端服务器与数据库服务器之间的关系可以是一对多、多对一或者多对多,本实施例采用多对一模式,即包括N个客户端服务器和一个数据库服务器的模式,其中
客户端服务器用于在启动时创建记录数大于等于本客户端上可执行的SQL语句种类数的hash表;用于对用户发送的SQL语句进行hash运算,以及根据得到的hash表下标值从hash表中查找相应SQL语句在服务端的执行计划缓存数组的下标值,并在查找到时,读取所述下标值,并将所述SQL语句与所述下标值发送给数据库服务器;在未查找到时将仅所述SQL语句发送给数据库服务器;还用于解析数据库服务器返回的响应包,将执行结果返回给用户,用于判断响应包中是否携带有下标值;在响应包携带有下标值时,判断本地hash表中是否存在当前SQL语句,若存在,则将其对应的下标值更新成当前解析得到的下标值;若不存在,则将当前SQL语句和解析得到的下标值存入本地hash表中。
数据库服务器用于在启动时创建节点数大于等于数据库系统的SQL语句种类数的执行计划缓存数组,用于解析并判断所述客户端服务器发送来的请求包中是否携带有合法有效的下标值,并在解析结果中存在合法有效的下标值时,通过所述下标值查找相应的执行计划并使用所述执行计划执行,将执行结果返回给客户端服务器;在解析结果中不存在下标值或者下标值非法/失效时,硬解析所述请求包携带的SQL语句,并在所述执行计划缓存数组中为其分配空闲节点,将硬解析得到的执行计划和所述SQL语句存入所述节点,记录所述节点的下标值,使用得到的执行计划执行,将执行结果和所述记录的下标值返回给客户端服务器。
如图3所示,是本发明优选实施例中hash表和执行计划缓存数组的结构示意图,本实施例中,
客户端启动时创建的hash表的记录数为M,每条记录都具有一个冲突链表,本实施例中,假设记录M-1的冲突链表中存储有两个SQL语句及其下标值,其余的都为空,客户端将hash运算得到的hash表下标值相同的SQL语句及其在数据库服务器的执行计划缓存数组的下标值存储在运算得到的hash表下标值记录的冲突链表的不同节点中;当需要查找时,则根据所述运算得到的hash表下标值定位到相应的记录,然后再遍历该记录的冲突链表即可。
数据库服务器启动时创建的执行计划缓存数组的节点数为N,每个节点都具有void*指针,数据库服务器硬解析SQL语句后,将得到的执行计划和SQL语句先存入一个预先申请的结构体中,然后使得为该SQL语句分配的数组节点的指针指向所述结构体。
如图4所示,是本发明所述方法的实施例流程示意图,本实施例中,假设客户端和服务器端都已启动,即客户端已创建了一个通常意义上的hash表(hash表在计算机业界有通用的定义和现成的代码,本发明中不再详细叙述),表名为hash_tab,hash_tab的最大记录数为n;hash_tab的每条记录都含有一个冲突链表,hash表下标值相同的SQL语句及其执行计划缓存数组下标值被存放在此链表的一个节点中;服务端也已创建了一个长度为max_saved_plans的数组,数组名为array_server;具体包括如下步骤:
步骤401:客户端收到一个SQL语句,设长度为SQL_len;
步骤402:对所述SQL语句进行hash运算,得到hash值hash_val,用hash_val对n取模,得到hash_tab下标值hash_tab_foot,并定位到hash_tab的hash_tab_foot的冲突链表头节点head_node;
这里的hash算法的应适用于长度不定的字符串处理并且适应于本机CPU处理能力。
步骤403:从head_node开始遍历冲突链表,将本次待执行的SQL语句和存储在每一个节点的SQL语句进行比较;
步骤404:判断是否找到,若找到,则执行步骤405;否则,执行步骤406;
本步骤中,若该SQL语句是第一次执行,则找不到,否则,可以找到;
步骤405:取出其中存储的下标值achieved_node_foot,将SQL语句和achieved_node_foot打包发送给服务端,并等待服务端返回响应包;
步骤406:将SQL语句打包发送给服务端,并等待服务端返回响应包;
步骤407:服务端收到客户端的请求包;
步骤408:解析并判断是否携带了下标值,若是,则执行步骤409;否则,执行步骤410;
步骤409:判断解析得到的下标值achieved_node_foot是否合法有效,若是,则执行步骤412;否则,执行步骤410;
步骤410:对解析得到的SQL语句进行硬解析,得到执行计划exe_plan;
硬解析的算法可以采用通用的flex和yyac配合的方式实现。
步骤411:从array_server中分配一个空闲节点,设为achieved_node,其下标值为achieved_node_foot;将所述SQL语句和得到的执行计划存入预先申请的结构体中,并使得achieved_node执行该结构体,记录achieved_node下标值achieved_node_foot;
步骤412:使用exe_plan执行,得到执行结果;
步骤413:将执行结果和achieved_node_foot打包返回给客户端;
步骤414:根据下标值achieved_node_foot找到array_server的achieved_node_foot节点,读取对应的执行计划exe_plan;
步骤415:使用读取的exe_plan执行,得到执行结果;
步骤416:将执行结果返回给客户端;
步骤417:客户端接收到服务端的响应包;
步骤418:解析并判断响应包中是否携带有下标值,若是,则执行步骤419;否则,执行步骤420;
步骤419:判断hash_tab的hash_tab_foot的冲突链表中是否存在当前SQL语句,若是,则执行步骤420;否则,执行步骤421;
本步骤与步骤403采用的方法相同,都是通过遍历所述冲突链表,用当前SQL语句和存储在所述冲突链表的每一个节点的SQL语句进行比较,若找到相同的,则存在;否则,不存在。
步骤420:将该SQL语句对应的下标值更新成解析出的下标值achieved_node_foot,执行步骤422;
步骤421:将当前SQL语句和achieved_node_foot存入hash_tab的hash_tab_foot记录的冲突链表中;
步骤422:将解析出的执行结果返回给用户。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改,等同替换,改进等,均应包含在本发明的保护范围之内。
Claims (10)
1、一种数据库系统,包括客户端服务器和数据库服务器,其特征在于,所述
客户端服务器用于在启动时创建hash表,用于对用户发送的结构化查询语言SQL语句进行hash运算,以及根据得到的hash表下标值从所述hash表中查找相应SQL语句在服务端的执行计划缓存数组的下标值,并在查找到时,读取所述下标值,并将所述SQL语句与所述下标值发送给所述数据库服务器;在未查找到时将仅所述SQL语句发送给所述数据库服务器;
数据库服务器用于在启动时创建执行计划缓存数组,用于解析并判断所述客户端服务器发送来的请求包中是否携带有合法有效的下标值,并在解析结果中存在合法有效的下标值时,通过所述下标值查找相应的执行计划并使用所述执行计划执行,将执行结果返回给所述客户端服务器;在解析结果中不存在下标值或者下标值非法/失效时,硬解析所述请求包携带的SQL语句,并在所述执行计划缓存数组中为其分配空闲节点,将硬解析得到的执行计划和所述SQL语句存入所述节点,记录所述节点的下标值,使用得到的执行计划执行,将执行结果和所述记录的下标值返回给所述客户端服务器。
2、如权利要求1所述的数据库系统,其特征在于,
所述客户端服务器还用于解析所述数据库服务器返回的响应包,将执行结果返回给用户,用于判断所述响应包中是否携带有下标值;在响应包携带有下标值时,判断本地hash表中是否存在当前SQL语句,若存在,则将其对应的下标值更新成当前解析得到的下标值;若不存在,则将当前SQL语句和解析得到的下标值存入本地hash表中。
3、一种分布式SQL语句执行计划重用方法,其特征在于,
客户端接收到用户的SQL语句后,对其进行hash运算,根据得到的hash表下标值在本地hash表中查找所述SQL语句,找到后读取所述SQL语句在服务端执行计划缓存数组中的下标值,将所述SQL语句和所述下标值发送给服务端;
服务端接收到客户端的请求包后,解析所述请求包,根据得到的SQL语句和执行计划缓存数组下标值,找到相应的执行计划并使用所述执行计划执行,执行结束后将结果返回给所述客户端。
4、如权利要求3所述的分布式SQL语句执行计划重用方法,其特征在于,若所述客户端在本地hash表中没有查找到所述SQL语句,则仅将所述SQL语句发送给所述服务端。
5、如权利要求3所述的分布式SQL语句执行计划重用方法,其特征在于,若所述服务端从接收到的请求包中没有携带下标值或者携带的下标值非法/失效,则执行如下操作:
步骤a:硬解析所述SQL语句,得到执行计划;
步骤b:在执行计划缓存数组中为所述SQL语句分配一个空闲节点,将所述SQL语句及其执行计划存入所述节点,并记录所述节点的下标值;
步骤c:使用所述执行计划执行,得到执行结果;
步骤d:将执行结果和记录的下标值返回给所述客户端。
6、如权利要求3或5所述的分布式SQL语句执行计划重用方法,其特征在于,所述客户端接收到服务端返回的响应包后,执行如下步骤:
步骤A:解析并判断所述响应包中是否携带有下标值,若是,则执行步骤B;否则,执行步骤C;
步骤B:根据hash表下标值查找本地hash表中是否存在当前SQL语句,若是,则将其对应的执行计划缓存数组下标值更新成解析得到的下标值;否则,根据所述hash表下标值将当前SQL语句和解析得到的下标值存入本地hash表中;
步骤C:将执行结果返回给用户。
7、如权利要求3所述的分布式SQL语句执行计划重用方法,其特征在于,所述方法还包括:
所述客户端在启动时创建hash表;
所述服务端在启动时创建执行计划缓存数组。
8、如权利要求7所述的分布式SQL语句执行计划重用方法,其特征在于,所述hash表的记录数大于等于本客户端上可执行的SQL语句种类数,且每条记录都具有一个冲突链表;
所述执行计划缓存数组的节点数大于等于数据库系统的SQL语句种类数,且每个节点都具有一个指针。
9、如权利要求8所述的分布式SQL语句执行计划重用方法,其特征在于,所述客户端将hash表下标值相同的SQL语句及其执行计划缓存数组下标值存储在所述hash表下标值对应记录的冲突链表的不同节点中。
10、如权利要求3或8所述的分布式SQL语句执行计划重用方法,其特征在于,所述服务端硬解析得到SQL语句的执行计划后,将所述SQL语句及其执行计划存入预先申请的结构体中,并使得为该SQL语句分配的执行计划缓存数组的节点的指针指向所述结构体;
所述客户端通过遍历所述hash表记录的冲突链表来查找其中是否存在当前SQL语句。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101077739A CN101567006B (zh) | 2009-05-25 | 2009-05-25 | 一种数据库系统及分布式sql语句执行计划重用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101077739A CN101567006B (zh) | 2009-05-25 | 2009-05-25 | 一种数据库系统及分布式sql语句执行计划重用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101567006A true CN101567006A (zh) | 2009-10-28 |
CN101567006B CN101567006B (zh) | 2012-07-04 |
Family
ID=41283159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101077739A Expired - Fee Related CN101567006B (zh) | 2009-05-25 | 2009-05-25 | 一种数据库系统及分布式sql语句执行计划重用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101567006B (zh) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193948A (zh) * | 2010-03-16 | 2011-09-21 | 华为技术有限公司 | 特征匹配方法和装置 |
CN102201010A (zh) * | 2011-06-23 | 2011-09-28 | 清华大学 | 无共享架构的分布式数据库系统及其实现方法 |
CN102521367A (zh) * | 2011-12-16 | 2012-06-27 | 清华大学 | 面向海量数据的分布式处理方法 |
CN102867069A (zh) * | 2012-09-28 | 2013-01-09 | 浙江图讯科技有限公司 | 一种基于sql的数据库脚本执行方法及系统 |
CN102955801A (zh) * | 2011-08-25 | 2013-03-06 | 中兴通讯股份有限公司 | 基于分布式数据库系统的数据控制方法及系统 |
CN103092970A (zh) * | 2013-01-24 | 2013-05-08 | 华为技术有限公司 | 一种数据库操作方法及设备 |
CN103118099A (zh) * | 2013-01-25 | 2013-05-22 | 福建升腾资讯有限公司 | 基于散列算法的图形图像缓存方法 |
CN103336782A (zh) * | 2013-05-30 | 2013-10-02 | 莱诺斯科技(北京)有限公司 | 一种关系型分布式数据库系统 |
CN103488715A (zh) * | 2013-09-11 | 2014-01-01 | 北京思特奇信息技术股份有限公司 | 一种基于全局设置的预解析管理方法及系统 |
CN103577561A (zh) * | 2013-10-24 | 2014-02-12 | 华为技术有限公司 | 执行计划的存储方法、装置及系统 |
CN103782295A (zh) * | 2011-09-15 | 2014-05-07 | 甲骨文国际公司 | 分布式数据管理系统中的查询说明计划 |
CN104133891A (zh) * | 2014-07-30 | 2014-11-05 | 广州科腾信息技术有限公司 | 一种基于关系型数据库的海量结构化数据的存储方法 |
CN104333512A (zh) * | 2014-10-30 | 2015-02-04 | 北京思特奇信息技术股份有限公司 | 一种分布式内存数据库访问系统及方法 |
CN106227799A (zh) * | 2016-07-21 | 2016-12-14 | 江和慧 | 一种基于分布式数据库的sql语句处理方法 |
WO2017080257A1 (zh) * | 2015-11-11 | 2017-05-18 | 华讯方舟科技有限公司 | 一种基于键值对的数据处理方法及系统 |
CN107025263A (zh) * | 2017-01-16 | 2017-08-08 | 中国银联股份有限公司 | 用于数据库语句的语句解析方法 |
CN107291948A (zh) * | 2016-09-21 | 2017-10-24 | 广州特道信息科技有限公司 | 一种分布式newSQL数据库的访问方法 |
CN107766378A (zh) * | 2016-08-22 | 2018-03-06 | 南京中兴新软件有限责任公司 | 请求信息的发送方法及装置、分布式数据库系统 |
CN108008948A (zh) * | 2016-11-30 | 2018-05-08 | 上海寒武纪信息科技有限公司 | 一种指令生成过程的复用装置及方法、处理装置 |
CN109684352A (zh) * | 2018-12-29 | 2019-04-26 | 江苏满运软件科技有限公司 | 数据分析系统、方法、存储介质及电子设备 |
CN109885585A (zh) * | 2019-02-18 | 2019-06-14 | 星环信息科技(上海)有限公司 | 支持存储过程、触发器与视图的分布式数据库系统和方法 |
CN111506603A (zh) * | 2020-04-23 | 2020-08-07 | 上海达梦数据库有限公司 | 数据处理方法、装置、设备及存储介质 |
CN113051875A (zh) * | 2021-03-22 | 2021-06-29 | 北京百度网讯科技有限公司 | 信息转换模型的训练方法、文本信息的转换方法和装置 |
CN113535753A (zh) * | 2021-07-19 | 2021-10-22 | 北京人大金仓信息技术股份有限公司 | 一种基于并行遍历算法的sql语句执行计划定位方法和装置 |
CN114356929A (zh) * | 2021-12-31 | 2022-04-15 | 山东浪潮科学研究院有限公司 | 一种基于sql缓存的分布式数据处理方法 |
CN115630087A (zh) * | 2022-12-23 | 2023-01-20 | 金篆信科有限责任公司 | 数据库语句的执行计划确定方法、装置、电子设备及介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5511190A (en) * | 1995-01-20 | 1996-04-23 | Tandem Computers, Inc. | Hash-based database grouping system and method |
CN101272523A (zh) * | 2007-03-22 | 2008-09-24 | 华源润通(北京)科技有限公司 | 一种移动查询系统及其查询方法 |
CN100520781C (zh) * | 2007-08-23 | 2009-07-29 | 南京联创科技股份有限公司 | 主内存数据中心数据处理方法 |
-
2009
- 2009-05-25 CN CN2009101077739A patent/CN101567006B/zh not_active Expired - Fee Related
Cited By (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193948A (zh) * | 2010-03-16 | 2011-09-21 | 华为技术有限公司 | 特征匹配方法和装置 |
CN102201010A (zh) * | 2011-06-23 | 2011-09-28 | 清华大学 | 无共享架构的分布式数据库系统及其实现方法 |
CN102955801A (zh) * | 2011-08-25 | 2013-03-06 | 中兴通讯股份有限公司 | 基于分布式数据库系统的数据控制方法及系统 |
CN103782295A (zh) * | 2011-09-15 | 2014-05-07 | 甲骨文国际公司 | 分布式数据管理系统中的查询说明计划 |
CN103782295B (zh) * | 2011-09-15 | 2017-03-22 | 甲骨文国际公司 | 分布式数据管理系统中的查询说明计划 |
CN102521367A (zh) * | 2011-12-16 | 2012-06-27 | 清华大学 | 面向海量数据的分布式处理方法 |
CN102521367B (zh) * | 2011-12-16 | 2013-09-04 | 清华大学 | 面向海量数据的分布式处理方法 |
CN102867069A (zh) * | 2012-09-28 | 2013-01-09 | 浙江图讯科技有限公司 | 一种基于sql的数据库脚本执行方法及系统 |
CN103092970A (zh) * | 2013-01-24 | 2013-05-08 | 华为技术有限公司 | 一种数据库操作方法及设备 |
CN103118099A (zh) * | 2013-01-25 | 2013-05-22 | 福建升腾资讯有限公司 | 基于散列算法的图形图像缓存方法 |
CN103118099B (zh) * | 2013-01-25 | 2016-03-02 | 福建升腾资讯有限公司 | 基于散列算法的图形图像缓存方法 |
CN103336782B (zh) * | 2013-05-30 | 2016-09-21 | 莱诺斯科技(北京)股份有限公司 | 一种关系型分布式数据库系统 |
CN103336782A (zh) * | 2013-05-30 | 2013-10-02 | 莱诺斯科技(北京)有限公司 | 一种关系型分布式数据库系统 |
CN103488715B (zh) * | 2013-09-11 | 2017-01-18 | 北京思特奇信息技术股份有限公司 | 一种基于全局设置的预解析管理方法及系统 |
CN103488715A (zh) * | 2013-09-11 | 2014-01-01 | 北京思特奇信息技术股份有限公司 | 一种基于全局设置的预解析管理方法及系统 |
WO2015058499A1 (zh) * | 2013-10-24 | 2015-04-30 | 华为技术有限公司 | 执行计划的存储方法、装置及系统 |
CN103577561A (zh) * | 2013-10-24 | 2014-02-12 | 华为技术有限公司 | 执行计划的存储方法、装置及系统 |
US20160239542A1 (en) * | 2013-10-24 | 2016-08-18 | Huawei Technologies Co., Ltd. | Method, Apparatus, and System for Storing Execution Plan |
EP3054386A4 (en) * | 2013-10-24 | 2016-08-31 | Huawei Tech Co Ltd | STORAGE METHOD, DEVICE AND SYSTEM FOR EXECUTION PLAN |
CN103577561B (zh) * | 2013-10-24 | 2017-12-01 | 华为技术有限公司 | 执行计划的存储方法、装置及系统 |
CN104133891A (zh) * | 2014-07-30 | 2014-11-05 | 广州科腾信息技术有限公司 | 一种基于关系型数据库的海量结构化数据的存储方法 |
CN104133891B (zh) * | 2014-07-30 | 2018-04-27 | 广州科腾信息技术有限公司 | 一种基于关系型数据库的海量结构化数据的存储方法 |
CN104333512A (zh) * | 2014-10-30 | 2015-02-04 | 北京思特奇信息技术股份有限公司 | 一种分布式内存数据库访问系统及方法 |
CN104333512B (zh) * | 2014-10-30 | 2017-07-28 | 北京思特奇信息技术股份有限公司 | 一种分布式内存数据库访问系统及方法 |
WO2017080257A1 (zh) * | 2015-11-11 | 2017-05-18 | 华讯方舟科技有限公司 | 一种基于键值对的数据处理方法及系统 |
CN106227799B (zh) * | 2016-07-21 | 2019-06-25 | 江和慧 | 一种基于分布式数据库的sql语句处理方法 |
CN106227799A (zh) * | 2016-07-21 | 2016-12-14 | 江和慧 | 一种基于分布式数据库的sql语句处理方法 |
CN107766378A (zh) * | 2016-08-22 | 2018-03-06 | 南京中兴新软件有限责任公司 | 请求信息的发送方法及装置、分布式数据库系统 |
CN107463632B (zh) * | 2016-09-21 | 2020-06-09 | 云润大数据服务有限公司 | 一种分布式NewSQL数据库系统和数据查询方法 |
CN107463632A (zh) * | 2016-09-21 | 2017-12-12 | 广州特道信息科技有限公司 | 一种分布式NewSQL数据库系统和数据查询方法 |
CN107291948A (zh) * | 2016-09-21 | 2017-10-24 | 广州特道信息科技有限公司 | 一种分布式newSQL数据库的访问方法 |
CN107291948B (zh) * | 2016-09-21 | 2020-05-19 | 云润大数据服务有限公司 | 一种分布式newSQL数据库的访问方法 |
CN108008948A (zh) * | 2016-11-30 | 2018-05-08 | 上海寒武纪信息科技有限公司 | 一种指令生成过程的复用装置及方法、处理装置 |
CN108008948B (zh) * | 2016-11-30 | 2023-08-25 | 上海寒武纪信息科技有限公司 | 一种指令生成过程的复用装置及方法、处理装置 |
US11263520B2 (en) * | 2016-11-30 | 2022-03-01 | Shanghai Cambricon Information Technology Co., Ltd. | Instruction generation process multiplexing method and device |
CN107025263A (zh) * | 2017-01-16 | 2017-08-08 | 中国银联股份有限公司 | 用于数据库语句的语句解析方法 |
CN109684352A (zh) * | 2018-12-29 | 2019-04-26 | 江苏满运软件科技有限公司 | 数据分析系统、方法、存储介质及电子设备 |
CN109684352B (zh) * | 2018-12-29 | 2020-12-01 | 江苏满运软件科技有限公司 | 数据分析系统、方法、存储介质及电子设备 |
CN109885585B (zh) * | 2019-02-18 | 2020-01-10 | 星环信息科技(上海)有限公司 | 支持存储过程、触发器与视图的分布式数据库系统和方法 |
CN109885585A (zh) * | 2019-02-18 | 2019-06-14 | 星环信息科技(上海)有限公司 | 支持存储过程、触发器与视图的分布式数据库系统和方法 |
CN111506603A (zh) * | 2020-04-23 | 2020-08-07 | 上海达梦数据库有限公司 | 数据处理方法、装置、设备及存储介质 |
CN111506603B (zh) * | 2020-04-23 | 2024-03-26 | 上海达梦数据库有限公司 | 数据处理方法、装置、设备及存储介质 |
CN113051875A (zh) * | 2021-03-22 | 2021-06-29 | 北京百度网讯科技有限公司 | 信息转换模型的训练方法、文本信息的转换方法和装置 |
CN113051875B (zh) * | 2021-03-22 | 2024-02-02 | 北京百度网讯科技有限公司 | 信息转换模型的训练方法、文本信息的转换方法和装置 |
CN113535753A (zh) * | 2021-07-19 | 2021-10-22 | 北京人大金仓信息技术股份有限公司 | 一种基于并行遍历算法的sql语句执行计划定位方法和装置 |
CN114356929A (zh) * | 2021-12-31 | 2022-04-15 | 山东浪潮科学研究院有限公司 | 一种基于sql缓存的分布式数据处理方法 |
CN115630087A (zh) * | 2022-12-23 | 2023-01-20 | 金篆信科有限责任公司 | 数据库语句的执行计划确定方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101567006B (zh) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101567006B (zh) | 一种数据库系统及分布式sql语句执行计划重用方法 | |
EP3899751B1 (en) | Elimination of query fragment duplication in complex database queries | |
Deshpande et al. | Cache-and-query for wide area sensor databases | |
US7860884B2 (en) | System and method for processing continuous integrated queries on both data stream and stored data using user-defined shared trigger | |
CN109189852B (zh) | 一种数据同步的方法及用于数据同步的装置 | |
US20050210023A1 (en) | Query optimizer using implied predicates | |
US20150149436A1 (en) | Rewrite Constraints For Database Queries | |
CN106682147A (zh) | 一种基于海量数据的查询方法及装置 | |
US11914592B2 (en) | Systems and methods for processing structured queries over clusters | |
CN105447156A (zh) | 资源描述框架分布式引擎及增量式更新方法 | |
US20050091588A1 (en) | Device for structured data transformation | |
US11514009B2 (en) | Method and systems for mapping object oriented/functional languages to database languages | |
CN112579610A (zh) | 多数据源结构分析方法、系统、终端设备及存储介质 | |
CN114356971A (zh) | 数据处理方法、装置以及系统 | |
US9740735B2 (en) | Programming language extensions in structured queries | |
US8756246B2 (en) | Method and system for caching lexical mappings for RDF data | |
CN113553339A (zh) | 数据查询方法、中间件、电子装置和存储介质 | |
WO2012139331A1 (zh) | 分布式话单查询管理系统及方法 | |
CN113688161A (zh) | 缓存数据查询方法、装置、设备及存储介质 | |
CN113032465A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN110245184B (zh) | 一种基于tagSQL的数据处理方法、系统及装置 | |
US12007997B2 (en) | Metadata search via N-gram index | |
KR20180104498A (ko) | 질의 처리 방법 및 장치 | |
CN102360385A (zh) | 文件查找方法及系统 | |
CN111737290A (zh) | 一种分布式数据库的查询方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180702 Address after: California, USA Patentee after: Global innovation polymerization LLC Address before: 518057, Nanshan District high tech Industrial Park, Guangdong province Shenzhen science and technology south road Zhongxing building A block 6 Patentee before: ZTE Corp. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120704 |