单机结构,已上线项目部分表数据已接近千万,如何无缝优化分表

如题所示,部分记录表若已达千万级数据行数。
欢迎讨论

大人中
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

简单点的

  1. 创建好数据表
  2. 更改业务逻辑
  3. 数据更新到要拆分的表中
  4. 将业务逻辑更新到线上服务器
  5. 将更新业务逻辑期间旧表的少量数据迁移到新表

复杂点的
先同时维护新表和旧表,查询等一直使用旧表,然后再去除旧表的逻辑,分两步走。

3年前 评论
cheer (楼主) 3年前
Adachi (作者) 3年前
讨论数量: 13

空手套白狼!

3年前 评论
cheer (楼主) 3年前

简单点的

  1. 创建好数据表
  2. 更改业务逻辑
  3. 数据更新到要拆分的表中
  4. 将业务逻辑更新到线上服务器
  5. 将更新业务逻辑期间旧表的少量数据迁移到新表

复杂点的
先同时维护新表和旧表,查询等一直使用旧表,然后再去除旧表的逻辑,分两步走。

3年前 评论
cheer (楼主) 3年前
Adachi (作者) 3年前

话说可以看看TIDB,不过我没用过,你可以试试看。

3年前 评论
cheer (楼主) 3年前

等上亿再优化

3年前 评论
南城以南

索引不好使的前提下

首先确定是 读 还是 写出现了瓶颈

  • 1、读瓶颈 冷热分离
  • 2、写瓶颈 分库分表+中间件逻辑数据组装
3年前 评论

等老板加钱再优化

3年前 评论
cheer (楼主) 3年前

目前有个简单表,数据量过亿了,准备拆,但是在纠结是上中间件,还是在model层写拆分逻辑 :cry:

3年前 评论
cheer (楼主) 3年前

1kw数据太少,不至于到分表的地步

3年前 评论
cheer (楼主) 3年前
panqihuan 2年前

千万级别建好索引完全可以

3年前 评论
cheer (楼主) 3年前

看项目是什么维度数据存储的

几千万先顶着还没到瓶颈

保守一点,老用户还是用老表,此时再添加的用户的数据,就存到新表或新库中

挑战一下就是数据库中间件了,如果使用中间件,欢迎分享你的方案

3年前 评论
cheer (楼主) 3年前

建议先去了解一下B+树吧,一千万那么小的数据量就谈这个是不是为时过早?合理设计,单表存个几十亿行都行

3年前 评论

千万数据量不大啊 没必要上来就一套分裤分表 太麻烦了,数据量大的 查询慢直接上elaticsearch

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!