有没的 sql 优化大佬 小弟来跪了... - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
BrilliantGinger
V2EX    问与答

有没的 sql 优化大佬 小弟来跪了...

  •  
  •   BrilliantGinger 2021-03-17 16:13:35 +08:00 2575 次点击
    这是一个创建于 1748 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司报表要搞 sql 优化,但是有很多函数 函数里面有很多子查询,导致 sql 特别慢,小的学术浅薄,特来救助...嘤嘤嘤

    27 条回复    2021-03-18 14:13:07 +08:00
    BrilliantGinger
        1
    BrilliantGinger  
    OP
       2021-03-17 16:25:18 +08:00
    dsada
    fareware
        2
    fareware  
       2021-03-17 18:59:34 +08:00
    举个例子
    MeteorCat
        3
    MeteorCat  
       2021-03-17 19:03:25 +08:00 via Android
    直接加钱,没什么是加钱解决不了的,有的话那就是钱加的不够
    MeteorCat
        4
    MeteorCat  
       2021-03-17 19:09:55 +08:00 via Android
    @MeteorCat 以前年轻也是和楼主一样烦恼,自从换了公司之后遇到这种问题,都是直接加配置处理,才发现真的加钱世界触手可及
    shakoon
        5
    shakoon  
       2021-03-17 19:13:30 +08:00
    看执行计划,加索引
    fiypig
        6
    fiypig  
       2021-03-17 19:20:06 +08:00 via iPhone
    explain 分析下
    redtea
        7
    redtea  
       2021-03-17 19:33:21 +08:00
    为什么一定要写成一条 SQL 执行,不能取出来在程序里处理后再输出吗?
    levelworm
        8
    levelworm  
       2021-03-17 20:19:19 +08:00 via Android
    大哥你好歹给个例子啊。。。
    proxychains
        9
    proxychains  
       2021-03-17 20:36:46 +08:00 via Android
    这是什么电影.jpg
    BrilliantGinger
        10
    BrilliantGinger  
    OP
       2021-03-17 20:50:50 +08:00
    @MeteorCat 哈哈 你可真有趣 直接加配置... 问题公司用的 mysql 只能靠我们咯
    BrilliantGinger
        11
    BrilliantGinger  
    OP
       2021-03-17 20:51:11 +08:00
    @levelworm 抱歉 老哥 第一次发主题...
    BrilliantGinger
        12
    BrilliantGinger  
    OP
       2021-03-17 20:53:21 +08:00
    @redtea 都是以前别人写好的...主要是用了很多函数 函数里面子查询 你想想假如我一个表有 4000 条数据 子查询表有 100w 条数据 就会对 100w 数据的表进行 4000 次访问 多可怕..我不知道怎么处理了
    BrilliantGinger
        13
    BrilliantGinger  
    OP
       2021-03-17 20:53:39 +08:00
    @shakoon 试过了
    BrilliantGinger
        14
    BrilliantGinger  
    OP
       2021-03-17 20:54:15 +08:00
    @fareware 都是以前别人写好的...主要是用了很多函数 函数里面子查询 你想想假如我一个表有 4000 条数据 子查询表有 100w 条数据 就会对 100w 数据的表进行 4000 次访问 多可怕..我不知道怎么处理了 第一次发帖子 不知道怎么发图片 嘿嘿
    romisanic
        15
    romisanic  
       2021-03-17 22:24:28 +08:00
    data
    sql
    levelworm
        16
    levelworm  
       2021-03-18 01:19:33 +08:00 via Android
    我觉得可能还是得从业务出发重构比较好。他这点代码是做啥的搞清楚应该就好些了。
    xupefei
        17
    xupefei  
       2021-03-18 08:08:34 +08:00 via iPhone
    上 Spark SQL 。
    zhiguang
        18
    zhiguang  
       2021-03-18 10:10:33 +08:00
    用阿里的 mysql,十亿级别的数据都能查.....
    BrilliantGinger
        19
    BrilliantGinger  
    OP
       2021-03-18 10:31:14 +08:00
    @levelworm 搞业务的人都离职了...
    BrilliantGinger
        20
    BrilliantGinger  
    OP
       2021-03-18 10:31:59 +08:00
    @romisanic 0 。0
    BrilliantGinger
        21
    BrilliantGinger  
    OP
       2021-03-18 10:32:21 +08:00
    @xupefei 大数据 ...公司没那实力
    BrilliantGinger
        22
    BrilliantGinger  
    OP
       2021-03-18 10:32:38 +08:00
    @zhiguang 完全不是一种公司...
    jowenz
        23
    jowenz  
       2021-03-18 11:08:28 +08:00
    @BrilliantGinger 你说的这个函数,如果函数里面要去其他表取数,应该类似标量子查询吧,数据量少没问题, 子查询(函数)如何走索引在 100W 里面查也不会很慢的。量多还是改写 SQL 吧。
    BrilliantGinger
        24
    BrilliantGinger  
    OP
       2021-03-18 11:39:04 +08:00
    知道了 老哥,现在公司有个老人,用视图的方式去优化 sql,但是我感觉用视图做优化 并不是真正的优化,而我们现在写的 sql 的复杂度,这 sql 已经无法优化了,牵扯到表太多了
    BrilliantGinger
        25
    BrilliantGinger  
    OP
       2021-03-18 11:39:18 +08:00
    @jowenz 知道了 老哥,现在公司有个老人,用视图的方式去优化 sql,但是我感觉用视图做优化 并不是真正的优化,而我们现在写的 sql 的复杂度,这 sql 已经无法优化了,牵扯到表太多了
    jowenz
        26
    jowenz  
       2021-03-18 12:44:04 +08:00
    @BrilliantGinger 视图没有优化吧,就是封装起来,少写代码,看起来整洁一些,有时候使用视图还会更慢
    BrilliantGinger
        27
    BrilliantGinger  
    OP
       2021-03-18 14:13:07 +08:00
    @jowenz 速度倒是快了不少...
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5204 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 09:15 PVG 17:15 LAX 01:15 JFK 04:15
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86