sql语句中like的应用

记得有一次,我帮朋友整理一个二手书摊的库存。
书名都乱七八糟,而且都有手写的标签。
我正在寻找特定作者的一本书,但我发现标签上写的名字是作者的全名,只是他的姓氏,甚至只是标题的一部分。
当时我想,如果有一个系统可以自动过滤含有特定单词的书名,那该多方便啊。
于是我有了一个想法,尝试使用 SQL LIKE 语句构建一个查询,例如“SELECT FROM books WHERE title LIKE '%author name%'”,结果确实帮助我快速找到了这本书。
那次经历让我对LIKE语句有了更深入的理解。
等等,还有一件事,我突然想到,如果是在一个大型数据库中,这种查询可能需要几分钟。

sql语句中like的应用

说白了,LIKE是SQL中的一个模糊搜索工具,但如果使用不当,很容易减慢整个查询的速度。

我们先来说最重要的两点:%和_通配符的使用一定要记住。
比如去年我们开展了一个电子商务项目。
在过滤用户评论时,我们使用%积极评论来查找所有提及“积极评论”的记录。
然而,对于与开头的陈述相对应的正面评论百分比来说,该索引是徒劳的,而且它的运行速度就像一台旧的慢速计算机一样慢。
还有一点就是AND和OR的结合。
去年,出现了寻找同时包含“热卖”和“爆款”内容的需求。
t1 LIKE '%hot Selling%' 和 t1 LIKE '%hot style%' 准确得多,但要注意不要混淆,否则返回的记录可能与您的期望不符。

一开始我以为逗号足以合并多个LIKE条件,但后来我发现有些不对劲——比如使用t1 LIKE '%hot seller,%hot item%'根本找不到,所以我不得不用OR来分隔它们。
等等,还有一件事。
全文索引可以显着加快该过程,但并非所有数据库都支持它。

建议从简单的模式匹配开始,不要从复杂的组合查询开始。

sql中的like是什么意思

这是一个陷阱:LIKE '%text' 会导致全表扫描,效率低下。
不管你信不信:外卡位置错误,比赛也不准确。
不要这样做:直接搜索特殊字符而不使用转义字符。
实用提醒:在优化SQL查询之前,首先了解通配符的位置和使用。