快速背景 - 我们有一个表“订单”,每天写入约10k条记录。这是数据库中查询最多的表。为了保持小表,我们计划将大约一周前写入的记录移动到另一个表中。这将通过自动化作业完成。虽然我们知道将历史记录发送到单独的服务器是有意义的,但我们目前只有一个数据库服务器。
订单表位于databaseA中。以下是我们正在考虑的方法:
如果我们可以获得关于哪种设计可以提供更好性能的指示,那将会很棒?
编辑:
的更好表现
答案 0 :(得分:2)
你可以:
我不确定MySQL分区的效果如何。对于替代方案,您可以查看PostgreSQL partitioning。大多数商业数据库也支持它。
答案 1 :(得分:1)
我从你的问题中看出你只想处理当前的订单。
过去,在繁忙的网站上使用过3张桌子
新订单, 处理订单, 填写订单,
和主要订单表
订单
所有这些表都与订单表和主键有关。
例如new_orders_id,orders_id processing_orders_id,orders_id ....
使用左连接查找新订单和处理订单应该相对有效