V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lsw518598
V2EX  ›  PostgreSQL

多大数据量的表联表查询会很慢呢?

  •  
  •   lsw518598 · 196 天前 · 1853 次点击
    这是一个创建于 196 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近的项目在一个表中存的主键,然后去另一个表中去联表,表的数据都是 k 级别的,并且业务要做多字段全模糊匹配,所以需要查询多次再 union 而且不能用到索引,子查询和联表都用上了,那这种数据级别用 join 会有效率问题吗?
    12 条回复    2023-10-16 07:01:21 +08:00
    zjp
        1
    zjp  
       196 天前
    看 explain ,不用猜
    lsw518598
        2
    lsw518598  
    OP
       196 天前
    @zjp 现在手头还没有实际的数据,想着要是有有经验的老哥可以提前分析解惑一下,就可以避免生成测试数据了,还挺麻烦的 不过还是感谢解答
    yinaqu
        3
    yinaqu  
       196 天前
    数据都是 K 级别的,是指只有几千条么
    lsw518598
        4
    lsw518598  
    OP
       196 天前
    @yinaqu 对的 单独每个表里只有几千条的 join
    yinaqu
        5
    yinaqu  
       196 天前
    就几千条数据,多烂的 sql 都不会有什么大问题
    lsw518598
        6
    lsw518598  
    OP
       196 天前
    @yinaqu join 我记得是使用笛卡尔积,那么联查的时候会不会等于是 k*k=m 级别的数据里查询呢?刚工作开发经验比较少,谢谢哥指教
    sylxjtu
        7
    sylxjtu  
       196 天前 via Android
    @lsw518598 慢主要慢在读盘上,所以肯定比从 k*k 个数据里读快
    lsw518598
        8
    lsw518598  
    OP
       196 天前
    @sylxjtu 好的~ 那我有信心继续往下做了 hhh
    di94sh
        9
    di94sh  
       196 天前 via iPhone
    就几千条全在 buffer pool 里了
    h19981126g
        10
    h19981126g  
       196 天前
    explain analyze 看下,不是全盘扫就行,有索引基本不慢
    LeeReamond
        11
    LeeReamond  
       195 天前
    不同后端情况不同,个人经验不做优化的话单表 1e6 连表 1e5 数量级就感觉到有明显 qps 下降了
    xuanbg
        12
    xuanbg  
       195 天前
    连表查询慢首先要看执行计划,执行计划没问题,那就是数据量的问题。数据量问题也不一定是单表量大的问题,有可能只是笛卡尔积比较大的问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1191 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 23:34 · PVG 07:34 · LAX 16:34 · JFK 19:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.