LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

创建了索引的字段如何在索引不失效的情况下实现模糊查找

admin
2019年8月22日 12:33 本文热度 2693
有时候我们使用模糊查询(like)的时候,会出现索引失效的情况,比如根据手机号码后四位模糊匹配查询。
在SQL中模糊查询:mobile like ‘%8765’,这种情况是不能使用 mobile 上的索引的,那么如果需要根据手机号码后四位进行模糊查询,可以用一下方法进行改造。
我们可以加入冗余列,比如 mobile_reverse,内部存储为 mobile 的倒叙文本,如 mobile 17312345678(手机号码为虚构),那么 mobile_reverse 存储 87654321371,为 mobile_reverse 列建立索引,查询中使用语句 mobile_reverse like reverse(’%5678’) 即可。
reverse 是 SQL 中的反转函数,这条语句相当于 mobile_reverse like ‘8765%’ ,这种语句是可以使用索引的。
mobile_reverse 的更新可以用触发器解决,为表新建 ’新增‘和’更新‘的触发器,写入以下文本即可。
set new.mobile_reverse = REVERSE(new.mobile);
未改造前模糊查询语句为:
select * from xxx where mobile like ''%5678'';
改造后查询语句为:
select * from xxx where mobile_reverse like reverse(''%5678'');
或者
select * from xxx where mobile_reverse like ''8765%'';
改造后的模糊匹配可以使用 mobile_reverse 字段上的索引,加快查询速度。

该文章在 2019/8/22 12:35:12 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved