qqqccc
V2EX  ›  Java

小白求助, 5 千万数据量的表查询如何处理

  •  
  •   qqqccc · Aug 17, 2020 · 2375 views
    This topic created in 2124 days ago, the information mentioned may be changed or developed.

    有一张 5 千万数据量的表,有四个字段维度查询,地市、区县、然后继续下钻...这种数据应该怎样存储好点,能通过缓存中间件处理吗?如果查询维度是地市,地市总共 13 个,索引也用不上,当然查询会分页。

    12 replies    2020-08-17 17:32:03 +08:00
    kxjhlele
        1
    kxjhlele  
       Aug 17, 2020
    多级分区如何,5000 万 也不大,多列索引也不会存在性能问题吧
    F281M6Dh8DXpD1g2
        2
    F281M6Dh8DXpD1g2  
       Aug 17, 2020
    要查啥,明细还是统计结果,明细就建分区呗,统计结果预先计算好
    des
        3
    des  
       Aug 17, 2020
    数据复杂度 /查询复杂度、写入 /更新数量、要求实时性以及有多少查询不说一下吗
    qqqccc
        4
    qqqccc  
    OP
       Aug 17, 2020
    查的是明细,数据不复杂,就是量比较多,四个维度查询。开发不涉及写操作
    @des
    @liprais
    des
        5
    des  
       Aug 17, 2020
    @siiiagtb
    数据下钻不该是聚合的数据吗,为什么会是明细啊
    没有写的话,建议就查询好了,直接放另一个表里面
    qqqccc
        6
    qqqccc  
    OP
       Aug 17, 2020
    @kxjhlele 主要是如果查询维度是地市,索引就用不上了
    qqqccc
        7
    qqqccc  
    OP
       Aug 17, 2020
    @des 什么意思,一张表解决吗,但是通过地市分页查询的话就要 3-7s,性能接受不了
    des
        8
    des  
       Aug 17, 2020
    @siiiagtb 是让你事先查好了,放到另一个表里面,要用的话直接来查这张表
    sadfQED2
        9
    sadfQED2  
       Aug 17, 2020 via Android
    分成 4 张表?地市一张,区县一张......
    kxjhlele
        10
    kxjhlele  
       Aug 17, 2020
    @siiiagtb 怎么可能,你先试试吧,前面的列 索引有效的
    zxyroy
        11
    zxyroy  
       Aug 17, 2020
    @siiiagtb 先 explain 一下确保索引有生效。另外是不是用了 LIMIT,翻页的时候尽量用 rolling id 不要用 limit offset,性能会好很多
    takemeaway
        12
    takemeaway  
       Aug 17, 2020
    五千万数据发给我,我帮你做方案。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3751 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 10:22 · PVG 18:22 · LAX 03:22 · JFK 06:22
    ♥ Do have faith in what you're doing.