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

2020-08-17 17:00:16 +08:00
 qqqccc

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

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

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

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

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

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

© 2021 V2EX