[发明专利]一种基于正则表达式提高sql数据库精确查询效率的方法在审
申请号: | 201811407443.7 | 申请日: | 2018-11-23 |
公开(公告)号: | CN109542931A | 公开(公告)日: | 2019-03-29 |
发明(设计)人: | 钟声 | 申请(专利权)人: | 四川长虹电器股份有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/9032 |
代理公司: | 四川省成都市天策商标专利事务所 51213 | 代理人: | 郭会 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 正则表达式 字段 匹配 查询效率 调用 数据库技术 查询 查找 符合条件 匹配条件 数值转换 直接调用 常规的 字符串 语句 数据库 | ||
本发明公开了一种基于正则表达式提高sql数据库精确查询效率的方法,涉及数据库技术领域,所述方法包括以下步骤:步骤1:获取一个用于精确查询所需的参数;步骤2:根据条件字段在数据库中对应的值来编写与之相匹配的正则表达式;步骤3:将步骤1获取的参数值转换为字符串并查找与之相匹配的正则表达式;步骤4:调用只包含与正则表达式所匹配的条件字段的sql语句并且执行。本发明与常规的查询方法不同之处在于,当参数与正则表达式匹配之后,就不需要再调用通常使用的where...or...or...语句来执行,而可以直接调用只包含正则表达式所匹配条件字段的sql语句,此时执行的sql语句不用再像之前对所有的条件字段进行一一判断,以此来查找出符合条件的数据。
技术领域
本发明涉及数据库技术领域,具体的说,是一种基于正则表达式提高sql数据库精确查询效率的方法。
背景技术
Sql是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。其功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
但sql型数据库在按条件进行精确查询时存在一个缺陷:如MySQL数据库在执行带有条件的sql语句进行精确查询时,会对所有的条件字段进行一一判断,以此来查找出符合条件的数据(例如输入一个参数“1234567”,sql语句为:select*from table_name wherename=“1234567”or phone=“1234567”,此时的sql语句在数据库中查找数据时会在name及password字段下去匹配符合name=“1234567”或phone=“1234567”的值)。但这样产生的一个问题是:明显我们想要查询的是phone=“1234567”的数据,但此时sql语句执行却会在条件中所有字段下去匹配该参数,导致不必要的操作,增加了sql语句执行的时间,降低了程序的运行速度。
发明内容
本发明的目的在于提供一种基于正则表达式提高sql数据库精确查询效率的方法,用于解决现有技术中通过sql语句查询数据库时会对并不在查找范围内的数据也进行匹配而导致用sql语句数据库查询效率低下,运行时间长的问题。
本发明通过下述技术方案解决上述问题:
一种基于正则表达式提高sql数据库精确查询效率的方法,包括以下步骤:
步骤1:获取一个用于精确查询所需的参数;
步骤2:根据条件字段在数据库中对应的值来编写与之相匹配的正则表达式;
步骤3:将步骤1获取的参数值转换为字符串并查找与之相匹配的正则表达式;
步骤4:调用只包含与正则表达式所匹配的条件字段的sql语句并且执行。
本发明与常规的查询方法不同之处在于,当参数与正则表达式匹配之后,就不需要再调用通常使用的where...or...or...语句来执行,而可以直接调用只包含正则表达式所匹配条件字段的sql语句,此时执行的sql语句不用再像之前对所有的条件字段进行一一判断,以此来查找出符合条件的数据,而能直接在数据库中查找符合正则表达式的条件字段所对应的数据,这样能减少条件判断的次数,大大提高了精确查询时的速度,相比之下本发明不仅让查询语句变得更简洁还让查询数据库所花的时间更短,查询效率更高。
优选地,所述步骤1中获取的参数的类型包括整型、实型和字符串类型,获取的参数类型可以是各种各样的,但是通过本发明的方法都能进行查询,本方法适用于各种类型的参数的查询,使用方便快捷。
优选地,所述步骤3中采用toString()方法将步骤1获取的非字符串型参数转换为字符串型参数,因为数据库储存数据的方式都是以字符串类型进行存储,所以查询的时候要用字符串的类型进行匹配,对于不是字符串类型的参数用toString()方法可以快速的转换为字符串类型,以适应各种类型的参数的查询。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811407443.7/2.html,转载请声明来源钻瓜专利网。