[发明专利]一种SQL语句处理方法及装置有效
申请号: | 201210361178.X | 申请日: | 2012-09-25 |
公开(公告)号: | CN102915344A | 公开(公告)日: | 2013-02-06 |
发明(设计)人: | 丛磊;王利俊;郑志勇 | 申请(专利权)人: | 新浪网技术(中国)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭润湘 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sql 语句 处理 方法 装置 | ||
1.一种结构化查询语言SQL语句处理方法,其特征在于,包括:
获取请求进行数据库处理操作的SQL语句;
对所述SQL语句进行结构分析,得到分析结果;
根据所述分析结果,确定按照所述SQL语句进行数据库处理操作时所表征的基准行数,所述基准行数为进行数据库处理操作时需要查询的数据行数;
当确定的所述基准行数小于行数阈值时,确定按照所述SQL语句进行数据库处理操作,否则,确定取消按照所述SQL语句进行数据库处理操作。
2.如权利要求1所述的方法,其特征在于,在对所述SQL语句进行结构分析之前,还包括:
确定所述SQL语句为指定类型的SQL语句。
3.如权利要求1所述的方法,其特征在于,对所述SQL语句进行结构分析,具体包括:
当所述SQL语句为选择类型语句时,按照与选择类型语句对应的分析方式,对所述SQL语句进行结构分析;
当所述SQL语句为非选择类型语句时,将所述SQL语句转换为选择类型语句,按照与选择类型语句对应的分析方式,对转换后的SQL语句进行结构分析。
4.如权利要求1所述的方法,其特征在于,对所述SQL语句进行结构分析,得到分析结果,具体包括:
对所述SQL语句进行结构分析,确定所述SQL语句包括的各子语句块的类型,以及所述各子语句块表征的基准行数,以及所述SQL语句中是否包括限制参数,以及所述SQL语句中是否包括外排序参数,以及所述SQL语句中是否包括索引参数。
5.如权利要求4所述的方法,其特征在于,根据所述分析结果,确定按照所述SQL语句进行数据库处理操作时所表征的基准行数,具体包括:
按照所述SQL语句所包括的各子语句块从前到后的顺序,对所述各子语句块进行分组,其中,每个分组中的第一个子语句块的类型为简单类型或者原始类型,且每个分组中除第一个子语句块外不包括简单类型和原始类型的子语句块;
针对每个分组包括的各子语句块的类型和表征的基准行数,采用如下步骤确定该分组表征的基准行数:
按照该分组包括的各子语句块的先后顺序,从该分组中第二个子语句块开始,依次确定每个子语句块对应的中间基准行数,并将该分组中最后一个子语句块对应的中间基准行数作为该分组表征的基准行数,其中,当子语句块的类型为联合类型或依赖联合类型时,该子语句块对应的中间基准行数为前一个子语句块对应的中间基准行数和该子语句块表征的基准行数的乘积,当子语句块的类型为子查询类型、依赖子查询类型或派生类型时,该子语句块对应的中间基准行数为前一个子语句块对应的中间基准行数和该子语句块表征的基准行数中的最小值,该分组中的第一个子语句块对应的中间基准行数为第一个子语句块表征的基准行数;
确定各分组表征的基准行数的和值;
根据所述SQL语句中是否包括限制参数,以及是否包括外排序参数,对所述和值进行加减修正,得到第一修正值;
根据所述SQL语句中是否包括索引参数,对所述第一修正值进行倍数修正,得到所述SQL语句进行数据库处理操作时所表征的基准行数。
6.如权利要求4所述的方法,其特征在于,在确定按照所述SQL语句进行数据库处理操作时所表征的基准行数之前,还包括:
确定所述SQL语句中不包括限制参数,以及所述SQL语句中包括外排序参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新浪网技术(中国)有限公司,未经新浪网技术(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210361178.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:终端及其控制方法
- 下一篇:用于检测多阶段事件的方法和设备