
像这类表,一般 3,4 个字段就够了,而且每个字段的字符数也很少,但会产生大量行数。假如数据量超大时,如何对待它呢?比如几千万行的情况,这种表有必要分表吗?
1 ipwx 2019 年 4 月 27 日 我不懂,统计浏览量的表难道不是一篇文章一条记录的嘛? 如果你文章都有几千万了,你还用一个数据库? |
2 kukumao 2019 年 4 月 27 日 via Android 我觉得不需要。又不是经常读。 |
3 whileFalse 2019 年 4 月 27 日 浏览量为啥会有几千万行? |
4 longxboy 2019 年 4 月 27 日 不超过 1 亿条的话不用 |
5 GoLand 2019 年 4 月 27 日 这种数难道不是 kv 存储好吗?还放关系数据库干啥? |
6 opengps 2019 年 4 月 27 日 不需要,这种表主要是查时间区间,重点考虑用时间列聚集索引,排除其他的查询 跟我之前分享的超大密集写入表设计有点相似,只不过达不到需要表分区的地步 [《 mysql,sqlserver 数据库单表数据过大的处理方式》( https://www.opengps.cn/Blog/View.aspx?id=284) |
7 mamahaha OP @ipwx @whileFalse 需要记录文章 id、浏览文章的非重复 ip。点击一次生成一行,一个文章 id 对应有多少行就是被浏览了多少次,所以会产生很多行。如果单给一个字段做累加是没法区别重复点击的,不过我也不敢绝对肯定,也许你会有更好的办法吧。 |
9 jugelizi 2019 年 4 月 27 日 才几千万行。。 我都好几亿条的 mysql 的这种纯数字也是毫秒查 |
10 6j1A6v70lEv5n2U2 2019 年 4 月 27 日 via iPhone 楼上那些,是不是没考虑到按时间查看浏览量… 比如精确到每分钟某篇文章有多少浏览… 这种情况楼主说的几千万行当然也是存在的,每一次流量都要记录下时间和客户端等信息,而不再是文章的一个字段了 |
11 oott123 2019 年 4 月 27 日 via Android 按时间浏览存储的,可以试试时序数据库 time serial database 区分 ip 统计总数的,可以试试布隆过滤器 |
12 oott123 2019 年 4 月 27 日 via Android 是 time series database,拼错了 |