十八、优化like语句

简介: 十八、优化like语句

模糊查询,比较喜欢使用like的,但是like很可能让你的索引失效

1、反例

select * from citys where name like '%王' (不使用索引)
select * from citys where name like '%王%' (不使用索引)

3、正例

select * from citys where name like '王%' (使用索引) 。

3、理由

首先尽量避免模糊查询,如果必须使用,不采用全模糊查询,也应尽量采用右模糊查询, 即like ‘…%’,是会使用索引的;

左模糊like ‘%...’无法直接使用索引,但可以利用reverse + function index的形式,变化成 like ‘…%’;

全模糊查询是无法优化的,一定要使用的话建议使用搜索引擎。


目录
相关文章
|
2月前
|
设计模式 安全 Java
条件语句的多层嵌套问题优化,助你写出不让同事吐槽的代码!
条件语句的多层嵌套问题优化,助你写出不让同事吐槽的代码!
|
3月前
|
存储 C语言
C语言程序设计核心详解 第七章 函数和预编译命令
本章介绍C语言中的函数定义与使用,以及预编译命令。主要内容包括函数的定义格式、调用方式和示例分析。C程序结构分为`main()`单框架或多子函数框架。函数不能嵌套定义但可互相调用。变量具有类型、作用范围和存储类别三种属性,其中作用范围分为局部和全局。预编译命令包括文件包含和宏定义,宏定义分为无参和带参两种形式。此外,还介绍了变量的存储类别及其特点。通过实例详细解析了函数调用过程及宏定义的应用。
|
4月前
|
SQL 关系型数据库 MySQL
(十七)SQL优化篇:如何成为一位写优质SQL语句的绝顶高手!
(Structured Query Language)标准结构化查询语言简称SQL,编写SQL语句是每位后端开发日常职责中,接触最多的一项工作,SQL是关系型数据库诞生的产物,无论是什么数据库,MySQL、Oracle、SQL Server、DB2、PgSQL....,只要还处于关系型数据库这个范畴,都会遵循统一的SQL标准,这句话简单来说也就是:无论什么关系型数据库,本质上SQL的语法都是相同的,因为它们都实现了相同的SQL标准,不同数据库之间仅支持的特性不同而已。
169 8
|
7月前
|
关系型数据库 MySQL 数据库
十七、MySQL查询优化
十七、MySQL查询优化
58 0
|
SQL 移动开发 BI
【SQL开发实战技巧】系列(二十二):数仓报表场景☞ 从分析函数效率一定快吗聊一聊结果集分页和隔行抽样实现方式
怎样对SQL查询结果集分页比较好、平时你用分析函数优化传统查询,所以你会不会认为分析函数一定比传统查询效率高?一个实验告诉你答案、我想对数据进行隔行抽样应该怎么实现?【SQL开发实战技巧】这一系列博主当作复习旧知识来进行写作,毕竟SQL开发在数据分析场景非常重要且基础,面试也会经常问SQL开发和调优经验,相信当我写完这一系列文章,也能再有所收获,未来面对SQL面试也能游刃有余~。分析查询的一个小建议,可能大家平时为了方便,用row_number做分页的比较多,但是在有些场景,这个效率真的挺低。
【SQL开发实战技巧】系列(二十二):数仓报表场景☞ 从分析函数效率一定快吗聊一聊结果集分页和隔行抽样实现方式
|
Java
java学习第四天笔记-流程控制语句-分支结构78-while循环流程
java学习第四天笔记-流程控制语句-分支结构78-while循环流程
117 0
java学习第四天笔记-流程控制语句-分支结构78-while循环流程
|
Java
java学习第四天笔记-流程控制语句-分支结构73-switch的扩展知识点
java学习第四天笔记-流程控制语句-分支结构73-switch的扩展知识点
78 0
java学习第四天笔记-流程控制语句-分支结构73-switch的扩展知识点
|
Java
java学习第四天笔记-流程控制语句-分支结构71-switch的扩展知识点和练习
java学习第四天笔记-流程控制语句-分支结构71-switch的扩展知识点和练习
87 0
java学习第四天笔记-流程控制语句-分支结构71-switch的扩展知识点和练习
|
存储 SQL NoSQL
二十、sql优化其他方式
二十、sql优化其他方式
170 0
|
设计模式 安全 Java
条件语句的多层嵌套问题优化,助你写出不让同事吐槽的代码
前言《阿里巴巴开发手册》中,有关于多 if-else 分支和嵌套的建议和解决方案,如下:那么本文介绍几种优化方案,给大家提供一些思路案例下面是开发中可能会遇到的典型代码:这种情况,我们如何替代多分支和分支嵌套问题呢?如何让代码变得更容易维护和拓展呢?可以先自己思考一下哈..........下面我提供几种方法吧卫语句《重构--改善既有代码的设计》 书籍中有有如下描述:如果某个条件极其罕见,就应该单独检查该条件,并在条件为真时立即从函数中返回。这样的单独检查常常被称为 “卫语句”。使用卫语句,我们可以对上面的示例修改为:先进行条件检查,然后将 if-else 逻辑转成对应的卫语句格式。枚举《Eff