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

2020 年 8 月 17 日
 qqqccc

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

2629 次点击
所在节点    Java
12 条回复
kxjhlele
2020 年 8 月 17 日
多级分区如何,5000 万 也不大,多列索引也不会存在性能问题吧
F281M6Dh8DXpD1g2
2020 年 8 月 17 日
要查啥,明细还是统计结果,明细就建分区呗,统计结果预先计算好
des
2020 年 8 月 17 日
数据复杂度 /查询复杂度、写入 /更新数量、要求实时性以及有多少查询不说一下吗
qqqccc
2020 年 8 月 17 日
查的是明细,数据不复杂,就是量比较多,四个维度查询。开发不涉及写操作
@des
@liprais
des
2020 年 8 月 17 日
@siiiagtb
数据下钻不该是聚合的数据吗,为什么会是明细啊
没有写的话,建议就查询好了,直接放另一个表里面
qqqccc
2020 年 8 月 17 日
@kxjhlele 主要是如果查询维度是地市,索引就用不上了
qqqccc
2020 年 8 月 17 日
@des 什么意思,一张表解决吗,但是通过地市分页查询的话就要 3-7s,性能接受不了
des
2020 年 8 月 17 日
@siiiagtb 是让你事先查好了,放到另一个表里面,要用的话直接来查这张表
sadfQED2
2020 年 8 月 17 日
分成 4 张表?地市一张,区县一张......
kxjhlele
2020 年 8 月 17 日
@siiiagtb 怎么可能,你先试试吧,前面的列 索引有效的
zxyroy
2020 年 8 月 17 日
@siiiagtb 先 explain 一下确保索引有生效。另外是不是用了 LIMIT,翻页的时候尽量用 rolling id 不要用 limit offset,性能会好很多
takemeaway
2020 年 8 月 17 日
五千万数据发给我,我帮你做方案。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/699029

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX