导读
由于项目需要,要进行模糊查询,因为要匹配多个内容,原本由like改为regexp,后面测试查询2w数据发现,还是like效率高一些。
使用
1、改REGEXP正则查询
SELECTcount(*)FROMdept_manageWHEREdeptCode IN ( '1', '2', '3', '4', '5')AND receiveTime >= '2019-01-01 00:00:00'AND receiveTime <= '2020-06-03 23:59:59'AND applyName NOT REGEXP '测试|aa|bb'AND projectName NOT REGEXP '测试|aa|bb';

- 查询出来的数据消耗4.311s,数据在3w左右。
2、改LIKE模糊查询
SELECT
count(*)
FROM
dept_manage
WHERE
deptCode IN ( '1', '2', '3', '4', '5')
AND receiveTime >= '2019-01-01 00:00:00'
AND receiveTime <= '2020-06-03 23:59:59'
AND applyName NOT LIKE '%测试%'
AND applyName NOT LIKE '%aa%'
AND applyName NOT LIKE '%bb%'
AND projectName NOT LIKE '%测试%'
AND projectName NOT LIKE '%aa%'
AND projectName NOT LIKE '%bb%'

- 查询出来的数据消耗1.207s,数据在3w左右。
总结
经验证,目前发现还是like的效率比regexp效率高一些。
END
搞定~
