发明名称 一种数据库系统及分布式SQL语句执行计划重用方法
摘要 本发明涉及一种数据库系统及分布式SQL语句执行计划重用方法,所述系统包括客户端服务器和数据库服务器;所述方法为:客户端接收到用户的SQL语句后,对其进行hash运算,根据得到的hash表下标值在本地hash表中查找所述SQL语句,找到后读取所述SQL语句在服务端执行计划缓存数组中的下标值,将所述SQL语句和所述下标值发送给服务端;服务端接收到客户端的请求包后,解析所述请求包,根据得到的SQL语句和执行计划缓存数组下标值,找到相应的执行计划并使用所述执行计划执行,执行结束后将结果返回给所述客户端。本发明减轻了数据库服务器的负担,也提高了数据库系统的计算能力使用率。
申请公布号 CN101567006B 申请公布日期 2012.07.04
申请号 CN200910107773.9 申请日期 2009.05.25
申请人 中兴通讯股份有限公司 发明人 丁奇鹏
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 深圳鼎合诚知识产权代理有限公司 44281 代理人 宋鹰武
主权项 一种数据库系统,包括客户端服务器和数据库服务器,其特征在于,所述客户端服务器用于在启动时创建hash表,用于对用户发送的结构化查询语言SQL语句进行hash运算,以及根据得到的hash表下标值从所述hash表中查找相应SQL语句在数据库服务端的执行计划缓存数组的下标值,并在查找到时,读取所述下标值,并将所述SQL语句与所述下标值发送给所述数据库服务器;在未查找到时将仅所述SQL语句发送给所述数据库服务器;数据库服务器用于在启动时创建执行计划缓存数组,用于解析并判断所述客户端服务器发送来的请求包中是否携带有合法有效的下标值,并在解析结果中存在合法有效的下标值时,通过所述下标值查找相应的执行计划并使用所述执行计划执行,将执行结果返回给所述客户端服务器;在解析结果中不存在下标值或者下标值非法/失效时,将所述请求包携带的SQL语句转换为数据库内部可执行数据结构和代码,得到执行计划,并在所述执行计划缓存数组中为其分配空闲节点,将转换得到的执行计划和所述SQL语句存入所述节点,记录所述节点的下标值,使用得到的执行计划执行,将执行结果和所述记录的下标值返回给所述客户端服务器;所述客户端服务器还用于解析所述数据库服务器返回的响应包,将执行结果返回给用户,用于判断所述响应包中是否携带有下标值;在响应包携带有下标值时,判断本地hash表中是否存在当前SQL语句,若存在,则将其对应的下标值更新成当前解析得到的下标值;若不存在,则将当前SQL语句和解析得到的下标值存入本地hash表中。
地址 518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦A座6层