题解 | #模糊查询 like 那些你不知道的细节内容,面试必问。#

查看学校名称中含北京的用户

http://www.nowcoder.com/practice/95d9922b1e2a49de80daa491889969ee

这道题主要考察的是模糊查询 字段名 like '匹配内容'

  1. _ :下划线 代表匹配任意一个字符;

  2. % :百分号 代表匹配0个或多个字符;

  3. []: 中括号 代表匹配其中的任意一个字符;

  4. [^]: ^尖冒号 代表 非,取反的意思;不匹配中的任意一个字符。

tips:面试常问的一个问题:你了解哪些数据库优化技术? SQL语句优化也属于数据库优化一部分,而我们的like模糊查询会引起全表扫描,速度比较慢,应该尽量避免使用like关键字进行模糊查询。

SELECT device_id,age,university FROM user_profile
WHERE university LIKE '%北京%'
全部评论
准确说是使用前缀模糊匹配查询时才不会走索引,比如 %name% %name,而只有后缀模糊匹配时仍然是会走索引的,mysql会通过提供的字段在索引树中减小查询范围
9
送花
回复
分享
发布于 2022-05-15 21:37
楼上老哥说得对, like 后面接的时常量const 还是会走索引的,比如: like “张%”
1
送花
回复
分享
发布于 2022-09-04 16:51 浙江
滴滴
校招火热招聘中
官网直投
兄弟们太细了!
点赞
送花
回复
分享
发布于 2022-10-23 18:50 河南

相关推荐

头像
05-12 09:14
点赞 评论 收藏
转发
151 27 评论
分享
牛客网
牛客企业服务