【技术实现步骤摘要】
一种数据处理方法、存储介质与设备
[0001]本专利技术涉及数据库技术,特别是涉及一种数据处理方法
、
存储介质与设备
。
技术介绍
[0002]数据库执行一个
SQL
的过程一般分为词法分析
、
语法分析
、
语义分析
、
查询重写
、
生成执行计划
、
实际执行这几个阶段
。
其中,词法分析
、
语法分析
、
语义分析
、
查询重写这些阶段的最终目的是为了生成执行计划,而生成执行计划是为了高效地执行
SQL
并返回结果
。
当大量的数据库连接存在并且数据库的访问压力比较大时,以上
SQL
的执行过程会竞争共享资源,从而造成数据库的性能下降
。
实际上,对于某些格式基本类似的
SQL
来说,其从词法分析到生成执行计划阶段的执行过程以及中间产物完全相同
。
因此,对于这类
SQL
无需每次执行都重复执行相同的过程,而只需要把执行计划缓存起来
。
例如,对两个
SQL
:
select*from a where id<1
,
select*form a where id<10
,这两个
SQL
的执行结果不同,但执行计划可 ...
【技术保护点】
【技术特征摘要】
1.
一种数据处理方法,包括:在收到带有
like
操作的
SQL
语句的情况下,生成并缓存与所述带有
like
操作的
SQL
语句对应的两个执行计划,所述两个执行计划包括访问类型为全表扫描的第一执行计划和访问类型为索引扫描的第二执行计划;在接收带有
like
操作的
SQL
请求之后,判断所述带有
like
操作的
SQL
请求中的
like
操作是否可以转化为比较操作;若是,则执行所述第二执行计划
。2.
根据权利要求1所述的数据处理方法,其中,判断所述带有
like
操作的
SQL
请求中的
like
操作是否可以转化为比较操作包括:获取所述带有
like
操作的
SQL
请求中的
like
之后的常量;根据所述常量,判断所述
like
操作中的
like
运算符是否可以转换为比较运算符;若可以,则确定所述带有
like
操作的
SQL
请求中的
like
操作可以转化为比较操作;若不可以,则确定所述带有
like
操作的
SQL
请求中的
like
操作不可以转化为比较操作
。3.
根据权利要求2所述的数据处理方法,其中,根据所述常量,判断所述
like
操作中的
like
运算符是否可以转换为比较运算符包括:判断所述常量中是否存在前置的通配符;若存在,则确定所述
like
操作中的
like
运算符不可以转换为比较运算符;若不存在,则确定所述
like
操作中的
like
运算符可以转换为比较运算符
。4.
根据权利要求3所述的数据处理方法,其中,判断所述常量中是否存在前置的通配符包括:判断所述常量的第一位是否为通配符;若是,则确定所述常量中存在前置的通配符;若否,则确定所述常量中不存在前置的通配符
。5.
根据权利要求1所述的数据处理方法,其中,在收到带有
like
操作的
SQL
语句的情况下,生成并缓存与所述带有
like
操作的
SQL
语句对应的两个执行计划包括:在收到带有...
【专利技术属性】
技术研发人员:范国腾,尹强,徐登峰,
申请(专利权)人:北京人大金仓信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。