implementDream 2017-10-09 19:45 采纳率: 0%
浏览 578

想请教大家一个sql优化的问题

我要在左连接等值的时候判断不同情况等于不同字段的功能,但是查询效率非常低,想请教一下大神们有没有什么更好的方法
代码如下:
select * from call_rec n
LEFT JOIN AD_ATTRIBUTION aa ON
decode(regexp_instr(RTRIM (n.calling_pty),'^1[3458]\d{9}$'),1,aa.adphone,aa.adcode)
= decode(regexp_instr(RTRIM (n.calling_pty),'^1[3458]\d{9}$'),1,SUBSTR (RTRIM(n.calling_pty), 1, 7),SUBSTR (rtrim(n.calling_pty), 1, 4))

  • 写回答

1条回答 默认 最新

  • 疯狂的勺子 2017-10-09 23:53
    关注

    先不说这sql性能如何 就这sql可读性就很差 其次sql嵌套太多层 还有正则匹配 性能肯定不高

    把业务拆分 sql拆分

    评论
    编辑
    预览

    报告相同问题?

    悬赏问题

    • ¥15 DevEco studio开发工具 真机联调找不到手机设备
    • ¥15 请教前后端分离的问题
    • ¥100 冷钱包突然失效,急寻解决方案
    • ¥15 下载honeyd时报错 configure: error: you need to instal a more recent version of libdnet
    • ¥15 距离软磁铁一定距离的磁感应强度大小怎么求
    • ¥15 霍尔传感器hmc5883l的xyz轴输出和该点的磁感应强度大小的关系是什么
    • ¥15 vscode开发micropython,import模块出现异常
    • ¥20 Excel数据自动录入表单并提交
    • ¥30 silcavo仿真,30分钟,只需要代码
    • ¥15 FastReport 怎么实现打印后马上关闭打印预览窗口
    手机看
    程序员都在用的中文IT技术交流社区

    程序员都在用的中文IT技术交流社区

    专业的中文 IT 技术社区,与千万技术人共成长

    专业的中文 IT 技术社区,与千万技术人共成长

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    客服 返回
    顶部