要使用 mysql 分区表吗?

2020-10-16 12:54:02 +08:00
 hackingwu

我有一张表,一天大概生成 5w 条记录,历史数据要求保留 1 年。我在想要做分区表吗? 索引有(id), (a_id), (b_id, time_create), (c_id, time_create) 如果分区的条件用 time_create 做 range, 那 id 和 a_id 的查询 其实是会去每个分区都查一遍吧。大家觉得要做分区表吗

2937 次点击
所在节点    MySQL
5 条回复
zoharSoul
2020-10-16 13:11:33 +08:00
分区表是必须要带上唯一索引的.
msaionyc
2020-10-16 13:41:35 +08:00
实在不行,每天 23:59 建个次日的表,每天写不同的表
user8341
2020-10-16 13:47:19 +08:00
5 * 365 也才不到 2000 万条吧。
huntcool001
2020-10-16 15:07:17 +08:00
没必要了. 分区表现在唯一的作用就是,你整体删除的时候,会快一些. 比如说按月分,那么你分 12 个 partition, 每次你删一年前过期的那一个区,会很快.

所以结论就是别分区.
hackingwu
2020-10-16 16:08:15 +08:00
@huntcool001 是的 我也是这么想的,那就是要运维定期去归档数据。

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

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

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

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

© 2021 V2EX