首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySQL中存档较少频繁访问的数据的最佳实践

在MySQL中存档较少频繁访问的数据的最佳实践
EN

Stack Overflow用户
提问于 2022-02-20 07:04:14
回答 1查看 64关注 0票数 0

我有一个电子商务应用程序运行在MySQL服务器上,从过去10年开始。特别有两张表格:

  • orders (Apporx 3,000万行和3 GB

(Approx 4,500万行和3.5 GB数据)

这些表格载有过去10年内购买的所有订单及其各自的产品。通常,最后6个月的数据是访问频率最高的,所有以前的数据要么用于业务/营销团队的多份报告,要么用于客户检查他的订单历史记录。

由于这个表的大小不断增加,我们在读和写方面都遇到了更多的查询时间。因此,我想从这些表中归档一些数据以提高性能。主要关注的是,存档的数据仍然可以供报表和客户读取。

什么才是正确的归档策略呢?

EN

回答 1

Stack Overflow用户

发布于 2022-02-20 17:22:11

PARTITIONing不太可能提供任何性能上的好处。

请提供SHOW CREATE TABLE和一些“慢”查询,以便我可以分析访问模式、聚集索引选择、分区潜力等等。

有时候,对PK的更改(即“使用数据的集群”)可以极大地提高“引用的局部性”,从而提供性能好处。回到过去的用户也可能会耗尽缓存(“缓冲池”)。从user_id开始更改PK可能会显着地改善这个问题。

另一种可能是使用复制将“只读”查询从“活动”记录(最近几个月的读/写)中分离出来。这可以通过减少I/O,让客户在主服务器上访问,同时将“报告”降级到副本中,从而使其受益。

内存多少?当数据变得“大”时,运行“报告”可能会导致缓存崩溃,使一切变得更慢。摘要表是很好的解决方法。

分区表的最优索引必然与等效的非分区表的不同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71192045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档