当前位置: 首页 > news >正文

单表查询-模糊匹配

1、 模糊匹配

在项目中常用模糊匹配,比如说找出姓张的用户。可以用LIKE ‘张%’去实现。like条件分为三种情况是:
(1) 通配符在后面,如a like ‘L’||’%’,这种情况大部分是可以用索引去优化,打开LIKE_OPT_FLAG参数可以优化成a>=‘L’ AND a <‘M’。
(2) 通配符在前面,这种情况在匹配数据时候需要扫描全表数据后才能匹配到数据。
(3) 前后都有通配符,这种情况在匹配数据时候也是需要扫描全表数据后才能匹配到数据。
接下来通过例子来对比这三种情况的效率

2、 测例

(1)通配符在后

select count(*) from t1 where c1 like ?||'%';

在这里插入图片描述
(2)通配符在前

select count(*) from t1 where c1 like '%'||?;

在这里插入图片描述
(3)通配符前后

 select count(*) from t1 where c1 like '%'||?||'%';

在这里插入图片描述
通过例子验证,数据库在做模糊匹配的时候,尽量选择通配符在后面的情况,这样like匹配的效率更高。

3、对比like、instr之间的效率

Like方式:select count(*) from t1 where c1 like '%'||?||'%';

在这里插入图片描述

Instr方式:select count(*) from t1 where instr(c1,?)>0;

在这里插入图片描述

4、 小结

1、使用like一般建议通配符在后。
2、like和instr相互转换和效率对比
在这里插入图片描述

http://www.dtcms.com/a/313673.html

相关文章:

  • CMake 命令行参数完全指南(4)
  • sqli-labs靶场less26/a
  • awk对文本进行列处理
  • 【实习总结】Qt通过Qt Linguist(语言家)实现多语言支持
  • 抖音全新推荐大模型RankMixer
  • 【AI论文】ScreenCoder:通过模块化多模态智能体推动前端自动化中的视觉到代码生成技术发展
  • 从零开始实现Qwen3(Dense架构)
  • Linux 环境下 Docker 安装与简单使用指南
  • 7.28-8.3周报
  • 控制建模matlab练习10:滞后补偿器
  • OSPF笔记及综合实验报告册
  • 嵌入式 Linux 系统构建的核心组件详解
  • Go 工程化全景:从目录结构到生命周期的完整服务框架
  • 【openlayers框架学习】六:绘制点、圆、文字标注
  • 关于vllm【常见问题解决方案】
  • XtraBackup备份与恢复
  • Python 程序设计讲义(61):Python 的函数——变量的作用域
  • 【运维基础】Linux 硬盘分区管理
  • [Oracle] DUAL数据表
  • [自动化Adapt] 录制引擎 | iframe 穿透 | NTP | AIOSQLite | 数据分片
  • 第二节 YOLOv5参数
  • Python 程序设计讲义(59):Python 的函数——labmda函数(匿名函数)
  • 四、驱动篇-HDF驱动介绍2
  • sublime 乱码问题
  • JavaEE文件泄露与修复方案
  • Linux | i.MX6ULL移植 Gdb+Gdbserver 调试(第十四章)
  • 深入解析 Linux Kernel 中的设备树:使用、修改与实际应用
  • 经典文献阅读之--ViNT(视觉导航的基础模型)
  • 《汇编语言:基于X86处理器》第11章 MS-Windows编程(3)
  • 8.3 Java Web(JavaScript P15-P28)