【问题标题】:How to overcome problems with foreign key constraints to optimize a MySql table如何克服外键约束问题以优化 MySql 表
【发布时间】:2012-01-19 23:51:59
【问题描述】:

我的应用程序写入表core;这个名字是不可变的。它变得非常大(数百万行),因此它的大小使得插入它的速度比它们需要的慢。我的解决方案是只在core 中保存一周的数据。因此,我构建了一个表 core_archive,以按预定的时间间隔将超过一周的所有内容放入其中。

脚本会按计划间隔获取core 中的所有新值,对其进行操作并将它们放入第三个表core_details。该架构使得core_detailscore 中的PK 具有外键约束。

我的问题是由于这个外键约束(在core_detailcore 之间),我不能core 中删除任何行。那我该怎么办?

选项:

  1. 执行 ALTER TABLE 以将旧外键约束指向 core_archive。不过,这确实不应该也可能无法在大型生产数据库上安全地完成。
  2. ? [我没有其他可行的想法……StackO 有什么想法吗?]

【问题讨论】:

    标签: mysql database optimization


    【解决方案1】:

    您还必须创建一个core_details_archive 表并将core_archive 的行存档,这些行指向计划存档的core 行。根据您的数据结构,这种方法可能需要扩展到任意数量的表。

    【讨论】:

    • 是的,到目前为止,这似乎是唯一的选择。感谢您的建议。
    猜你喜欢
    • 2010-12-07
    • 2019-07-01
    • 2013-08-12
    • 2020-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多