BrilliantGinger
V2EX  ›  问与答

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

  •  
  •   BrilliantGinger · Mar 17, 2021 · 3157 views
    This topic created in 2061 days ago, the information mentioned may be changed or developed.

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

    27 replies  •  2021-03-18 14:13:07 +08:00
    BrilliantGinger
    BrilliantGinger
    OP
    Mar 17, 2021
    1
    dsada
    fareware
    fareware
    Mar 17, 2021
    2
    举个例子
    MeteorCat
    MeteorCat
    Mar 17, 2021 via Android
    3
    直接加钱,没什么是加钱解决不了的,有的话那就是钱加的不够
    MeteorCat
    MeteorCat
    Mar 17, 2021 via Android
    4
    @MeteorCat 以前年轻也是和楼主一样烦恼,自从换了公司之后遇到这种问题,都是直接加配置处理,才发现真的加钱世界触手可及
    shakoon
    shakoon
    Mar 17, 2021
    5
    看执行计划,加索引
    fiypig
    fiypig
    Mar 17, 2021 via iPhone
    6
    explain 分析下
    redtea
    redtea
    Mar 17, 2021
    7
    为什么一定要写成一条 SQL 执行,不能取出来在程序里处理后再输出吗?
    levelworm
    levelworm
    Mar 17, 2021 via Android
    8
    大哥你好歹给个例子啊。。。
    proxychains
    proxychains
    Mar 17, 2021 via Android
    9
    这是什么电影.jpg
    BrilliantGinger
    BrilliantGinger
    OP
    Mar 17, 2021
    10
    @MeteorCat 哈哈 你可真有趣 直接加配置... 问题公司用的 mysql 只能靠我们咯
    BrilliantGinger
    BrilliantGinger
    OP
    Mar 17, 2021
    11
    @levelworm 抱歉 老哥 第一次发主题...
    BrilliantGinger
    BrilliantGinger
    OP
    Mar 17, 2021
    12
    @redtea 都是以前别人写好的...主要是用了很多函数 函数里面子查询 你想想假如我一个表有 4000 条数据 子查询表有 100w 条数据 就会对 100w 数据的表进行 4000 次访问 多可怕..我不知道怎么处理了
    BrilliantGinger
    BrilliantGinger
    OP
    Mar 17, 2021
    13
    @shakoon 试过了
    BrilliantGinger
    BrilliantGinger
    OP
    Mar 17, 2021
    14
    @fareware 都是以前别人写好的...主要是用了很多函数 函数里面子查询 你想想假如我一个表有 4000 条数据 子查询表有 100w 条数据 就会对 100w 数据的表进行 4000 次访问 多可怕..我不知道怎么处理了 第一次发帖子 不知道怎么发图片 嘿嘿
    romisanic
    romisanic
    Mar 17, 2021
    15
    data
    sql
    levelworm
    levelworm
    Mar 18, 2021 via Android
    16
    我觉得可能还是得从业务出发重构比较好。他这点代码是做啥的搞清楚应该就好些了。
    xupefei
    xupefei
    Mar 18, 2021 via iPhone
    17
    上 Spark SQL 。
    zhiguang
    zhiguang
    Mar 18, 2021
    18
    用阿里的 mysql,十亿级别的数据都能查.....
    BrilliantGinger
    BrilliantGinger
    OP
    Mar 18, 2021
    19
    @levelworm 搞业务的人都离职了...
    BrilliantGinger
    BrilliantGinger
    OP
    Mar 18, 2021
    20
    @romisanic 0 。0
    BrilliantGinger
    BrilliantGinger
    OP
    Mar 18, 2021
    21
    @xupefei 大数据 ...公司没那实力
    BrilliantGinger
    BrilliantGinger
    OP
    Mar 18, 2021
    22
    @zhiguang 完全不是一种公司...
    jowenz
    jowenz
    Mar 18, 2021
    23
    @BrilliantGinger 你说的这个函数,如果函数里面要去其他表取数,应该类似标量子查询吧,数据量少没问题, 子查询(函数)如何走索引在 100W 里面查也不会很慢的。量多还是改写 SQL 吧。
    BrilliantGinger
    BrilliantGinger
    OP
    Mar 18, 2021
    24
    知道了 老哥,现在公司有个老人,用视图的方式去优化 sql,但是我感觉用视图做优化 并不是真正的优化,而我们现在写的 sql 的复杂度,这 sql 已经无法优化了,牵扯到表太多了
    BrilliantGinger
    BrilliantGinger
    OP
    Mar 18, 2021
    25
    @jowenz 知道了 老哥,现在公司有个老人,用视图的方式去优化 sql,但是我感觉用视图做优化 并不是真正的优化,而我们现在写的 sql 的复杂度,这 sql 已经无法优化了,牵扯到表太多了
    jowenz
    jowenz
    Mar 18, 2021
    26
    @BrilliantGinger 视图没有优化吧,就是封装起来,少写代码,看起来整洁一些,有时候使用视图还会更慢
    BrilliantGinger
    BrilliantGinger
    OP
    Mar 18, 2021
    27
    @jowenz 速度倒是快了不少...
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1775 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 03:33 · PVG 11:33 · LAX 19:33 · JFK 22:33
    ♥ Do have faith in what you're doing.