数据库结果集缓存方法及设备与流程

文档序号:12008928阅读:来源:国知局
数据库结果集缓存方法及设备与流程

技术特征:
1.一种数据库结果集缓存方法,其特征在于,包括:数据库引擎接收数据操纵语言DML语句,所述DML语句用于使所述数据库引擎对原始数据表进行DML操作;所述数据库引擎执行所述DML操作后,若判断获知缓存区中存储有之前对所述原始数据表执行一执行计划而获得的第一最终执行结果以及中间执行结果,则所述数据库引擎唤醒被设置为睡眠状态的所述执行计划,并在所述中间执行结果以及经过DML操作的原始数据表的基础上再次执行所述执行计划,以得到与经过DML操作的原始数据表对应的第二最终执行结果并存储在所述缓存区中;所述执行计划为对索引扫描表和全表扫描表进行建立哈希和哈希连接,其中,所述建立哈希是针对所述索引扫描表进行的操作,而所述哈希连接是对所述索引扫描表和所述全表扫描表进行的操作,且所述中间执行结果是所述建立哈希的结果,所述第一最终执行结果是所述哈希连接的结果。2.根据权利要求1所述的方法,其特征在于,所述数据库引擎唤醒被设置为睡眠状态的所述执行计划,包括:所述数据库引擎立即唤醒被设置为睡眠状态的所述执行计划;或,在满足预设的触发条件时,所述数据库引擎唤醒被设置为睡眠状态的所述执行计划。3.根据权利要求1或2所述的方法,其特征在于,所述数据库引擎接收数据操纵语言DML语句之前,还包括:对所述原始数据表执行所述执行计划,获得所述第一最终执行结果以及所述中间执行结果,将所述执行计划的工作状态设置为睡眠状态,并存储在所述缓存区中。4.根据权利要求3所述的方法,其特征在于,所述执行计划包括结构化查询语言SQL查询语句。5.一种数据库引擎,其特征在于,包括:接收模块,用于接收数据操纵语言DML语句,所述DML语句用于使所述数据库引擎对原始数据表进行DML操作;处理模块,用于执行所述DML操作后,若判断获知缓存区中存储有之前对所述原始数据表执行一执行计划而获得的第一最终执行结果以及中间执行结果,则唤醒被设置为睡眠状态的所述执行计划,并在所述中间执行结果以及经过DML操作的原始数据表的基础上再次执行所述执行计划,以得到与经过DML操作的原始数据表对应的第二最终执行结果并存储在所述缓存区中;所述执行计划为对索引扫描表和全表扫描表进行建立哈希和哈希连接,其中,所述建立哈希是针对所述索引扫描表进行的操作,而所述哈希连接是对所述索引扫描表和所述全表扫描表进行的操作,且所述中间执行结果是所述建立哈希的结果,所述第一最终执行结果是所述哈希连接的结果。6.根据权利要求5所述的数据库引擎,其特征在于,所述处理模块具体用于:立即唤醒被设置为睡眠状态的所述执行计划;或,在满足预设的触发条件时,唤醒被设置为睡眠状态的所述执行计划。7.根据权利要求5或6所述的数据库引擎,其特征在于,所述处理模块还用于:对所述原始数据表执行所述执行计划,获得所述第一最终执行结果以及所述中间执行结果,将所述执行计划的工作状态设置为睡眠状态,并存储在所述缓存区中。8.根据权利要求7所述的数据库引擎,其特征在于,所述执行计划包括结构化查询语言SQL查询语句。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1