mysql中like,REGEXP,in三者速度比较

时间:2021-12-24 12:07:45

有一表,数据有10万多条,其中某列数据示例如下:

100000-200000-300001

100000-200000-300002

100000-200001-300003

100000-200001-300004

100000-200002-300005

当查询数据中含有 200001 时,

用LIKE 时sql:colName LIKE'%200001 %' ,用时4秒左右

用正则时sql:colName REGEXP '^.*200001 -.*$',用时2秒左右

用IN时sql:SUBSTRING_INDEX(SUBSTRING_INDEX(C6, '-', -2),"-",1) IN ( 107003 ),用时400ms左右

比较了一下,有时in速度还是不错的!


以上示例仅供参考,若有不对,还请指教!