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

本文通过一个包含10万条数据的表,对比了使用LIKE、正则表达式和IN关键字进行查询时的性能表现。结果显示,在特定场景下,IN关键字提供了最佳的查询效率。

有一表,数据有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速度还是不错的!

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

常用SQL:

alter table table_name ADD price FLOAT comment '价格' AFTER colume_name;

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值