十八、优化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 ‘…%’;

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


目录
相关文章
|
9月前
|
Java 程序员
Java程序设计基础——循环中的跳转语句
Java程序设计基础——循环中的跳转语句
|
6月前
|
SQL 关系型数据库 MySQL
(十七)SQL优化篇:如何成为一位写优质SQL语句的绝顶高手!
(Structured Query Language)标准结构化查询语言简称SQL,编写SQL语句是每位后端开发日常职责中,接触最多的一项工作,SQL是关系型数据库诞生的产物,无论是什么数据库,MySQL、Oracle、SQL Server、DB2、PgSQL....,只要还处于关系型数据库这个范畴,都会遵循统一的SQL标准,这句话简单来说也就是:无论什么关系型数据库,本质上SQL的语法都是相同的,因为它们都实现了相同的SQL标准,不同数据库之间仅支持的特性不同而已。
232 8
|
9月前
|
Java
Java程序设计基础——语句与复合语句
Java程序设计基础——语句与复合语句
|
C语言
你真的学懂if语句了嘛,看完这篇文章你一定会让你有所收获,彻底玩转if语句!(下)
你真的学懂if语句了嘛,看完这篇文章你一定会让你有所收获,彻底玩转if语句!(下)
100 0
|
C语言
你真的学懂if语句了嘛,看完这篇文章你一定会让你有所收获,彻底玩转if语句!(上)
你真的学懂if语句了嘛,看完这篇文章你一定会让你有所收获,彻底玩转if语句!(上)
95 0
|
程序员
相见恨晚的Matlab编程小技巧(2)-代码怎么做到逻辑清晰?——巧用注释符“%“
        本文将以教程的形式详细介绍Matlab中两个常用符号“%”和“%%”的作用。初学者可以通过此文掌握这两个符号的用法,为Matlab编程打下坚实的基础。
|
SQL 测试技术 索引
【解决方案 二十六】DateGrip一键生成DML语句用于上线
【解决方案 二十六】DateGrip一键生成DML语句用于上线
212 0
|
SQL Oracle 关系型数据库
【SQL开发实战技巧】系列(五):从执行计划看IN、EXISTS 和 INNER JOIN效率,我们要分场景不要死记网上结论
从执行计划角度分析IN、EXISTS 和 INNER JOIN效率而不是死记网上结论、表的5种关联:INNER JOIN、LEFT JOIN、RIGHT JOIN 和 FULL JOIN 解析【SQL开发实战技巧】这一系列博主当作复习旧知识来进行写作,毕竟SQL开发在数据分析场景非常重要且基础,面试也会经常问SQL开发和调优经验,相信当我写完这一系列文章,也能再有所收获,未来面对SQL面试也能游刃有余~。
【SQL开发实战技巧】系列(五):从执行计划看IN、EXISTS 和 INNER JOIN效率,我们要分场景不要死记网上结论
|
存储 SQL NoSQL
二十、sql优化其他方式
二十、sql优化其他方式
178 0