讨论大表分库分表,后期带来的问题

别闹cc 2016-03-22 02:21:00
现实状况只有一台服务器

需求:一张数据记录表 一个月数据可能达到 5000W,每月数据量差不多,需要时刻查询逻辑,插入操作

现在考虑分库分表 ,按月横向分表 (按年分库,按月分表)

如果分库分表,不知道后期带来的 逻辑关联 分页,排序 怎么处理?




做过的的人,能否详细讲解下?
...全文
455 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
薛定谔的DBA 2016-03-23
  • 打赏
  • 举报
回复
可以按年分库,没必要分表,分区就行。 关于分页,对于取前多少后多少的最值取法,可以在每个表中分页取出,再将取出的重新排序分页。 取中间段的数据,那就是优化了: 有效索引 字段类型尽量小 不加锁处理 nolock,readpast cpu/并发处理 表分区 内存 快速磁盘 ……
  • 打赏
  • 举报
回复
用分区表就足够了。 分表也可以。 最后用视图关联即可。
卖水果的net 版主 2016-03-22
  • 打赏
  • 举报
回复
实时查询不大现实,建议把常用的查询结果放到小表中(比如:一个查询对应一个小表),每天定时更新这些小表,查询速度就快了。 同时保留实时查询的功能,告诉用户这样很慢;
HyperWang 2016-03-22
  • 打赏
  • 举报
回复
说分区表的不影响SQL的写法,做分库是指多database么?
HyperWang 2016-03-22
  • 打赏
  • 举报
回复
什么版本的sql server?
spiritofdragon 2016-03-22
  • 打赏
  • 举报
回复
分库分表,就得自己写框架(逻辑关联 分页,排序),这是必然的。实时数据和历史数据分开查询,才有性能可能性,必须牺牲用户体验,别客户想怎么查就怎么查,要想你怎么查不会崩溃。另,记得用分区表哦。
jmx123456789 2016-03-22
  • 打赏
  • 举报
回复
没做过。。。 5000W/月 这种数据通常用来做统计报表的吧 列表展示应该没啥意义吧。 比较死板的做法就是。根据业务自己写算法。。。。
xdashewan 2016-03-22
  • 打赏
  • 举报
回复
5000w的数据,你还要对其分页显示?难以想象,哪怕一天都有好几百万,这数据分页出来谁看。这种数据按编号或按分钟拉个几百条还能看看,或者拉汇总还有用,拉太多数据没啥意义的
  • 打赏
  • 举报
回复
这个主要就是看你的业务需要,就是你说的 查询,你是怎么查的,是按照月查,还是按照年查询,还是按照其他的维度来查。 1、1年数据5亿,数据量还是挺大的,是的考虑分库,分表,而且还是一台服务器,有点单薄。 2、我觉得还得考虑,历史数据怎么处理,比如3年前的数据如何处理。 3、另外,数据量这么大,数据库的备份会很慢,这个也需要考虑。

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧