互联网服务 数据库sql优化

求助,sql优化

                                   SELECT COUNT(amoid) num FROM alp_merchant_order WHERE (mobile LIKE '%15011236833%' || phone LIK... 显示全部

                                   

SELECT COUNT(amoid) num FROM alp_merchant_order WHERE (mobile LIKE '%15011236833%' || phone LIKE '%15011236833%') AND orderstatus NOT IN (0,17) AND createtime >='2016-05-26 15:01:02';

看下这个sql,全表扫描 ,帮忙优化下

12334.jpg


非常感谢

收起
参与26

查看其它 11 个回答welyngj 的回答

welyngj welyngj 数据仓库工程师 ss
有超过11位的电话号码吗?为什么不用=作为谓词条件?
事业单位 · 2016-06-09
浏览2268
  • wolfop  wolfop
    运营商的CDR不见得MSISDN那么规范,有些情况下号码会加上0086或者+86的前缀。而对于某些增值服务的端口号,比如分配给农行的95599,有些短信不是95599而是95599开头后面还有几位数字。如果这些没做预处理,用=肯定会导致业务统计不准确。
    2016-06-25

回答者

welyngj
数据仓库工程师 ss
评论79

welyngj 最近回答过的问题

回答状态

  • 发布时间:2016-06-09
  • 关注会员:8 人
  • 回答浏览:2268
  • X社区推广