php模糊搜索慢怎么办,MySQL中文模糊检索问题的解决方法_php

mysql中文模糊检索问题的解决方法

来源:林兴陆

在 MySQL 下,在进行中文模糊检索时,经常会返回一些与之不相关的

记录,如查找 "-0x1.ebea4bfbffaacp-4%" 时,返回的可能有中文字符,却没有 a 字符存在。

本人以前也曾遇到过类似问题,经详细阅读 MySQL 的 Manual ,发现可以

http://www.gaodaima.com/46059.htmlMySQL中文模糊检索问题的解决方法_php

有一种方法很方便的解决并得到满意的结果。

例子:

・希望通过“标题”对新闻库进行检索,关键字可能包含是中英文,如

下 SQL 语句:

select id,title,name from achech_com.news where title like '-0x1.ebea4bfbebe84p-4%'

返回的结果,某些 title 字段确定带了“a”关键字,而有些则只有中文,

但也随之返回在检索结果中。

解决方法,使用 BINARY 属性进行检索,如:

select id,title,name from achech_com.news where binary title like '-0x1.ebea4bfbebe84p-4%'

返回的结果较之前正确,但英文字母区分大小写,故有时在检索如“Achech”

及“achech”的结果是不一样的。

知道了使用 BINARY 属性可以解决前面这个问题,再看看 MySQL 支持的

UCASE 及 CONCAT 函数,其中 UCASE 是将英文全部转成大写,而 CONCAT 函

数的作用是对字符进行连接,以下是我们完全解决后的 SQL 语句:

select id,title,name from achech_com.news where binary ucase(title) like concat('%',ucase('a'),'%')

检索的步骤是先将属性指定为 BINARY ,以精确检索结果,而被 like 的 title

内容存在大小写字母的可能,故先使用 ucase 函数将字段内容全部转换成大

写字母,然后再进行 like 操作,而 like 的操作使用模糊方法,使用 concat

的好处是传进来的可以是直接的关键字,不需要带“%”万用符,将“'a'”直接

换成你的变量,在任何语言下都万事无忧了。

当然你也可以这么写:

select id,title,name from achech_com.news where binary ucase(title) like ucase('0x0.00020bfbebe08p-1022%')

检索的结果还算满意吧,不过速度可能会因此而慢N毫秒喔。

相关资料:

Relate:

20.16 Case Sensitivity in Searches

By default, MySQL searches are case-insensitive (although there are some character sets that are never case insensitive, such as czech). That means that if you search with col_name LIKE 'a%', you will get all column values that start with A or a. If you want to make this search case-sensitive, use something like INDEX(col_name, "A")=0 to check a prefix. Or use STRCMP(col_name, "A") = 0 if the column value must be exactly "A".

欢迎大家阅读《MySQL中文模糊检索问题的解决方法_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/514617.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

消息队列RocketMQ性能测试案例

1. 消息队列RocketMQ性能测试案例 1.1 RocketMQ测试分析 客户场景,信息共享交换平台: 1.交换平台需支持每秒万级别数据传输 2.实现跨路段、跨部门、跨行业、跨区域信息即时共享,做到高可靠、低延迟 客户现场展示场景设计思路: 1…

揭秘百度微服务监控:百度游戏服务监控的演进

导读:臣闻防患于未然者易,除患于已然者难 —— 明马文升《添风宪以抚流民疏》作为一个程序员,是否有留意到每逢节假日在各大景区时有程序员打开电脑紧急处理线上问题?如果线上出现大量的报警,这时我们该如何判断是自身…

「更高更快更稳」,看阿里巴巴如何修炼容器服务「内外功」

作者 | 守辰、志敏来源|阿里巴巴云原生公众号 11 月 11 日零点刚过 26 秒,阿里云再一次抗住了全球最大的流量洪峰。今年 双11 是阿里经济体核心系统全面云原生化的一年,相比去年核心系统的上云,云原生化不仅让阿里享受到了云计算技术成本优化…

云原生应用架构转型不好做?阿里云这个平台让你一步到位!

云原生实践带来的挑战 阿里云云原生为企业提供了完善的容器服务、函数计算、微服务体系、中间件体系。每个服务都有伸缩性、弹性和组合性,通过产品选择或组合搭建,能轻松完成应用与运行环境解耦,和传统应用研发模式具有较大差异。从传统研发…

对话MathWorks:解读MATLAB技术生态圈与未来趋势

37年前的1984年,MathWorks公司在美国加州成立。在成立的第14个年头,销售额就达到了一个亿美金。如今MathWorks公司在全球有超过5000名员工分布在34个办公室,2020年的销售额已达12亿美金。众所周知,MathWorks手握MATLAB和Simulink两…

如何基于DataWorks构建数据中台?

一 新零售的商业模式 一家新零售企业如果要做数据中台的话,首先很重要的一点就是一定要懂业务。之前有位同学问过我,说数据中台很难建。在我看来,数据跟业务是息息相关的,在构建整个数据中台的时候,首先要对业务有一个…

浪潮云海OS再度登顶 SPEC Cloud性能得分「全球第一」

近日,国际标准性能评测组织SPEC(Standard Performance Evaluation Corporation)公布最新云计算性能 Cloud IaaS 2018 Benchmark 测试成绩,在同规模测试场景下,浪潮云海OS再次刷新世界纪录,性能得分全球第一…

降本增效利器!趣头条Spark Remote Shuffle Service最佳实践

王振华,趣头条大数据总监,趣头条大数据负责人曹佳清,趣头条大数据离线团队高级研发工程师,曾就职于饿了么大数据INF团队负责存储层和计算层组件研发,目前负责趣头条大数据计算层组件Spark的建设范振,花名辰…

道旅:使用ARMS做业务监控数据清洗

作者:折松,阿里云解决方案架构师 深圳市道旅旅游科技股份有限公司(简称:道旅)是一家总部位于中国的全球酒店资源批发商。自2012年成立以来,道旅凭借其全球优质的直签产品和丰富的第三方产品,以…

日分发量破8.6亿,OPPO如何帮助开发者突破流量增长瓶颈

编辑 | 宋慧 出品 | CSDN云计算 头图 | OPPO软件商店开发者沙龙现场图 7月20日,OPPO软件商店开发者沙龙在北京成功举行,沙龙以「破解流量密码 解锁增长关键」为主题,基于应用分发行业洞察,围绕流量增长、服务赋能、开发者出海、本…

阿里 双11 同款流控降级组件 Sentinel Go 正式 GA,助力云原生服务稳稳稳

作者 | 赵奕豪(宿何) Sentinel 开源项目负责人来源|阿里巴巴云原生公众号 前言 微服务的稳定性一直是开发者非常关注的话题。随着业务从单体架构向分布式架构演进以及部署方式的变化,服务之间的依赖关系变得越来越复杂,业务系统…

AI一体机高速自由流收费稽核解决方案

自2019年两会政府工作报告中明确“深化收费公路制度改革,两年内基本取消全国高速公路省界收费站,实现不停车快捷收费,减少拥堵,便利群众”政策以来,全国高速公路取消省界收费站的工作快速推进。在撤站实现开放式的收费…

重磅!大数据知识总结和调参技巧开放下载了

大数据被誉为“新石油”,如何管理并洞悉数据的价值,是企业未来发展的核心竞争力。进入大数据时代,数据规模与日俱增。另一方面,数据仓库的市场份额被其他技术蚕食,比如大数据、机器学习和人工智能。这种趋势给我们造成…

2020阿里云双12-企业飞天会员年终盛典全攻略

2020阿里云双12大促活动于12月09日正式开启,至12月31日结束。此次双12阿里云将有哪些亮点活动,此篇文章将一一为大家阐述。 今年阿里云双12将重点服务企业用户,在大促期间,企业实名认证用户可加入阿里云飞天会员,享受…

工商银行基于 Dubbo 构建金融微服务架构的实践-服务发现篇

作者 | 张远征来源|阿里巴巴云原生公众号 导读:Dubbo 作为分布式微服务框架,众多公司在实践中基于 Dubbo 进行分布式系统架构。重启开源后,我们不仅看到 Dubbo 3.0 最新的 Roadmap 发布,而且还看到阿里在自身电商开始推进 Dubbo 和…

Kubernetes 诞生七年,凭什么成为主流?

来源 | CSDN头图 | 付费下载于 IC photo引言作为一款开源的容器编排引擎,始于2014年的Kubernetes一经推出就受到了开发者的喜爱,在此之前,从来没有人想过能有一个同时被所有云供应商支持的分布式应用。在Kubernetes里,用户可以轻松…

贡献的 PR 数仅次于阿里团队,我是如何成为 Spring Cloud Alibaba committer 的?

Spring Cloud Alibaba 开源两年时间,已经成为了最受开发者关注、最活跃的 Spring Cloud 实现。它之所以能这么快的受到开发者的认可,一方面是它生态中的组件丰富且经过阿里 双11 验证,但更重要的还是社区中各位贡献者、广大用户的贡献和反馈。…

专访涯海:阿里云中间件是如何支撑双11的?

以下是本次访谈关键内容的整理。 点击这里可前往“2020阿里双11技术全观”专题查看访谈视频回放 播报员: *各位开发者朋友们,大家好。欢迎收看我们这一期的双11技术播报栏目,我是你们的播报员莫孤。今天我们依然还是双11技术播报的特别篇&a…

你和大厂的匹配度多高?立马去C认证测试一下,提前备考大厂

一年一度的秋招要开始了,又有人开始慌了。前段时间在技术沙龙群里跟同学们聊天,大家集体吐槽今年求职内卷的严重。投了很多简历却石沉大海,秋招快开始了自己却还毫无头绪,想去大厂但是完全不知道如何下手。在这样的焦虑情绪下&…

排查指南 | 当 mPaaS 小程序提示“应用更新错误(1001)”时

问题描述:APP 启动 mPaaS 小程序弹出 toast 信息:"应用更新错误"。 原因分析 调用MDS小程序更新接口之后,没有拉到对应的小程序信息,就会返回1001。 mPaaS 框架在打开一个小程序应用前,首先需要获知该小程…