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语句
对应的两个执行计划包括:
在收到带有like操作的SQL语句的情况下,进行词法分析,将所述带有like操作的SQL
语句中的常量替换为参数;
根据替换后的带有like操作的SQL语句生成所述两个执行计划;
将所述两个执行计划放入相同的执行计划缓存中。
6 .根据权利要求5所述的数据处理方法,其中,
在接收带有like操作的SQL请求之后,在所述判断所述带有like操作的SQL请求中的
like操作是否可以转化为比较操作的步骤之前,所述数据处理方法还包括:
进行词法分析,将所述带有like操作的SQL请求中的常量替换为参数;
查询所述执行计划缓存中的执行计划,得到所述两个执行计划。
7 .根据权利要求5所述的数据处理方法,其中,
根据替换后的带有like操作的SQL语句生成所述两个执行计划包括:
拷贝所述带有like操作的SQL语句,并将拷贝得到的带有like操作的SQL语句中的like
操作转化为比较操作;
权 利 要 求 书
1/2 页
2
评论