MySQL比like语句更高效的写法

locate

position

instr

find_in_set

标签: locate instr find_in_set分类: MySQL

你是否一直在寻找比MySQL的LIKE语句更高效的方法的,下面我就为你介绍几种。

LIKE语句

SELECT `column` FROM `table` where `condition` like `%keyword%'

事实上,可以使用 locate(position) 和 instr 这两个函数来代替

一、LOCATE语句

SELECT `column` from `table` where locate(‘keyword’, `condition`)>0

二、或是 locate 的別名 position

POSITION语句

SELECT `column` from `table` where position(‘keyword’ IN `condition`)

三、INSTR语句

SELECT `column` from `table` where instr(`condition`, ‘keyword’ )>0

locate、position 和 instr 的差別只是参数的位置不同,同时locate 多一个起始位置的参数外,两者是一样的。

mysql> SELECT LOCATE(‘bar’, ‘foobarbar’,5);

-> 7

速度上这三个比用 like 稍快了一点。

~~~~~~~~~~~~~~~~~~~~~~~华丽的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~

四、还要给大家介绍一个新成员,那就是find_in_set

find_in_set(str1,str2) 函数:返回str2中str1所在的位置索引,其中str2必须以","分割开。

表:

mysql> select * from region;

+----+-------------+

| id | name |

+----+-------------+

| 1 | name1,nam2 |

| 2 | name1 |

| 3 | name3 |

| 4 | name2,name4 |

| 5 | name3,name5 |

+----+-------------+

5 rows in set (0.00 sec)

FIND_IN_SET语句

mysql> select * from test where find_in_set('name1',name);

+----+------------+

| id | name |

+----+------------+

| 1 | name1,nam2 |

| 2 | name1 |

+----+------------+

2 rows in set (0.02 sec)

五、当然,还有mysql的全文索引

全文索引:http://dev.mysql.com/doc/refman/5.6/en/fulltext-search.html

分享到:

2017-05-02 18:44

浏览 3826

分类:数据库

评论

mysql like 函数替换_MySql 替换like 查询相关推荐

  1. mysql动态函数库_mysql自定义函数与动态查询

    介绍下mysql自定义函数的例子,以及插入单引号的方法,动态执行查询与字符串拼接的相关内容. 1.mysql自定义函数的例子 mysql不能像oracle 一样写 动态SQL. 代码示例: DROP ...

  2. mysql 自定义函数教程_MySQL自定义函数

    MySQL自定义函数 函数与存储过程类似,也是一组预先编译好的SQL语句的集合,但是存储过程可以有0个或多个返回,函数就只能有一个返回 创建函数 #语法 参数列表包含两部分 参数名和参数类型 #函数体 ...

  3. mysql 自定义函数实例_mysql自定义函数原理与用法实例分析

    本文实例讲述了mysql自定义函数原理与用法.分享给大家供大家参考,具体如下: 本文内容: 什么是函数 函数的创建 函数的调用 函数的查看 函数的修改 函数的删除 首发日期:2018-04-18 什么 ...

  4. mysql format函数用法_MySQL format()函数

    本教程将向您展示如何使用MySQL FORMAT函数格式化各种语言环境中的十进制数. MySQL FORMAT函数简介 有时,您使用表达式或聚合函数(如AVG)来计算数据库中的值,例如库存周转率,产品 ...

  5. mysql 聚合函数嵌套_Mysql聚合函数嵌套如何使用 Mysql聚合函数嵌套使用方法

    Mysql聚合函数嵌套如何使用?本篇文章小编给大家分享一下Mysql聚合函数嵌套使用方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 目的:Mysql 聚合函数嵌套使用 ...

  6. mysql自定义函数应用_mysql functions实例:在自定义函数中应用字符串函数

    分享一段mysql自定义函数的代码,在其中用到了mysql的字符串函数length. 代码: mysql> delimiter $$ mysql> CREATE FUNCTION myFu ...

  7. mysql创建函数失败_mysql创建函数出现问题?

    大家好,帮我看看下面的mysql的函数有什么问题?一直创建不了. DELIMITER $$ DROP FUNCTION IF EXISTS check_if_exists$$ CREATE FUNCT ...

  8. mysql时间函数总结_MySQL 日期时间函数常用总结

    获得当前日期+时间(date + time)1.1    函数:now() 相关函数:current_timestamp(),localtime(),localtimestamp() 举例说明: 2. ...

  9. mysql 自定义函数教程_Mysql 自定义函数

    Mysql 自定义函数怎么用 CREATE FUNCTION `strip_tags`($str text) RETURNS text BEGIN DECLARE $start, $end INT D ...

  10. mysql创建函数失败_MYSQL创建函数出错如何解决

    在使用MySQL数据库时,有时会遇到MySQL函数不能创建的情况.下面就教您一个解决MySQL函数不能创建问题的方法,供您借鉴参考.希望能帮助到大家. 案例一: 目前在项目中,执行创建mysql的函数 ...

最新文章

  1. NSUserDefaults的用法
  2. Docker 部署ELK 日志分析
  3. 【转】java项目应该知道的核心重点部分
  4. ARC115E-LEQ and NEQ【容斥,dp,线段树】
  5. 【Servlet】Session会话跟踪技术
  6. UE4 图表插件使用文档
  7. 科大学长对数学系学弟学妹的忠告
  8. otsu阈值分割算法原理_otsu(大津法阈值分割原理)
  9. 中兴捧月算法挑战赛-RAW夜景图像去噪总结
  10. 【集合论】关系表示 ( 关系矩阵 | 关系矩阵示例 | 关系矩阵性质 | 关系矩阵运算 | 关系图 | 关系图示例 | 关系表示相关性质 )
  11. Win11 25179.1000补丁推送了!
  12. Qt 之 Concurrent Run
  13. 业务流程驱动的数字化转型,中小微企业开启转型的最简单方法论
  14. Windows MFC 工程应用开发与框架原理完全剖析教程(上)
  15. 如何使用select()函数
  16. kvphone软电话安装包(ip电话)
  17. 找不到或无法加载主类 com.xxx.xxxxApplication
  18. 压缩视频大小画质不变,视频压缩大小清晰度不变怎么做?
  19. 当老师还是学计算机好,为什么大学里的计算机老师那么厉害,却不去当程序员拿高薪?...
  20. Ubuntu 命令行连接wifi

热门文章

  1. 51Nod-1486 大大走格子
  2. django1.2中将ManyToManyField呈现为checkbox
  3. CIO如何做好灾难恢复/数据外泄的业务连续性计划?
  4. File API文件操作之FileReader二
  5. POJ 2391 Ombrophobic Bovines【二分+最大流】
  6. (转自珊珊博客)甜甜蜜蜜走台湾 Day3
  7. md(Markdown)文件编辑
  8. python中tree安装_Python 学习笔记:Jupyter Notebook 的安装使用以及 tree 路径变更
  9. python测试用例设计方法_设计测试用例的基本方法
  10. 蓝牙打印 设置打印样式_双编辑模式 打印自由更轻松!——海鸟贴纸打印机蓝牙按键版体验...