问答一下,轻松解决,电脑应用解决专家!
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win10/Win11
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascriptLinux系统
PHP教程CSS教程XML教程

MySQL instr() 函数 与 like 查询

更新时间:2021-10-06 23:56 作者:佚名点击:

在MySQL中进行模糊查询的时候可以使用 instr() 函数。

instr()函数介绍

instr(s, s1):这个函数返回字符串s1在字符串s中的位置,若是找不到则返回0,找到则返回字符串s1所在位置。(返回位置从1开始)

instr()函数使用

SELECT * FROM user WHERE INSTR(username,'2')>0

上述sql语句表示从user表中查询username字段中包含'2'字符串的数据。上述语句相当于使用 like

SELECT * FROM user WHERE username like '%2%'	

这两句sql语句查询到的结果是一样的。

结果:

为什么要使用instr()函数?

由上可知,like完全能实现instr()函数的功能,但是为什么要使用instr函数。

因为instr()查询速度比like的查询速度快。

  • like以 '%' 开头查询时,表中的列所加的索引不生效;
  • instr()是一个函数,可以建立函数索引,如果过滤的条件有索引,那么instr()就可以提高性能;
  • 在没有索引的前提下,当数据量比较大时,instr要比like效率高;

简单来说,like以'%'为开头查询不走索引,instr()函数查询走索引,所以instr()性能比like要好!

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容