1 .一种SQL预编译方法,其特征在于,包括:
获取SQL预编译请求,其中,所述SQL预编译请求中携带有预编译语句;
检测全局内存中是否存在与所述预编译语句对应的全局预编译对象;
在存在与所述预编译语句对应的全局预编译对象的情况下,向客户端返回预编译成功
指令;
在不存在与所述预编译语句对应的全局预编译对象的情况下,根据所述预编译语句,
创建全局预编译对象,并使用所述创建的全局预编译对象进行预编译。
2.根据权利要求1所述的SQL预编译方法,其特征在于,在所述获取SQL预编译请求之
后,还包括:
对所述全局内存加锁;
在所述创建全局预编译对象之后,还包括:
释放对所述全局内存加的锁。
3 .根据权利要求2所述的SQL预编译方法,其特征在于,所述全局内存中包括多个内存
池,在所述获取SQL预编译请求之后,还包括:
根据预设的链路和内存池的映射关系,获取第一目标内存池;其中,所述第一目标内存
池为所述SQL预编译请求所属的链路映射的内存池;
所述检测全局内存中是否存在与所述预编译语句对应的全局预编译对象,包括:
检测所述第一目标内存池中是否存在与所述预编译语句对应的全局预编译对象;
所述创建全局预编译对象,包括:
在所述第一目标内存池中创建全局预编译对象;
所述对所述全局内存加锁,包括:
对所述第一目标内存池加锁;
所述对释放对所述全局内存加的锁,包括:
释放对所述第一目标内存池加的锁。
4 .根据权利要求3所述的SQL预编译方法,其特征在于,在存在与所述预编译语句对应
的全局预编译对象的情况下,在所述向客户端返回预编译成功指令之前,还包括:
判断在所述第一目标内存池中,与所述预编译语句对应的全局预编译对象的个数是否
达到预设值;
在未达到所述预设值的情况下,根据所述预编译语句,创建全局预编译对象并使用所
述创建的全局预编译对象进行预编译;
在达到所述预设值的情况下,进入所述向客户端返回预编译成功指令的步骤。
5 .根据权利要求4所述的SQL预编译方法,其特征在于,所述预编译语句对应的各全局
预编译对象共用预编译对象公用字段。
6 .根据权利要求1所述的SQL预编译方法,其特征在于,在使用所述全局预编译对象进
行预编译之后,还包括:
若接收到预编译对象操作指令,则根据所述预编译对象操作指令,在所述全局内存中
查找目标全局预编译对象;
使用查找到的所述目标全局预编译对象执行操作指令。
7 .根据权利要求6所述的SQL预编译方法,其特征在于,所述根据所述预编译对象操作
权 利 要 求 书
1/2 页
2
评论