MYSQL每日一用:SELECT 语句中比对(between and \ like \ left)

现在有一个百万条的数据库库测试:

 

SELECT sum(length(dest_mobile) +1 - length(replace(dest_mobile,';',''))) as channel_num
from mt_sms_200804
where date_time3 BETWEEN '2008-04-15 09:00:00' and '2008-04-15 10:00:00'

SELECT sum(length(dest_mobile) +1 - length(replace(dest_mobile,';',''))) as channel_num
from mt_sms_200804
where date_time3 like '2008-04-15 09%'


SELECT sum(length(dest_mobile) +1 - length(replace(dest_mobile,';',''))) as channel_num
from mt_sms_200804
where left(date_time3,13) = '2008-04-15 09'

 

每个小时的执行时间(10,11,12,13,14,15,16) :

BETWEEN AND :  2.047 sec   2.344 sec  3.562 sec  3.063 sec  2.266 sec  3.031 sec 2.562 sec

LIKE :                  2.375 sec   2.531 sec  2.969 sec  3.375 sec  2.109 sec  2.250 sec 2.375 sec

LEFT() :               1.906 sec   1.938 sec  2.563 sec  3.813 sec  2.218 sec  2.750 sec 2.594 sec

 

(一天的数据查询时间比对)

BETWEEN AND :  5.610 sec

LIKE :                  7.328

LEFT() :   5.640

 

这种方法也只能测试第一次测试的结果,第二次,结果就可能被缓存。

 

所以大家可以讨论一下,关于测试这三中查询方式,那个最有效率?在条件一致的情况下。

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值