私のアプリケーションはテーブルcore
に書き込みます。この名前は不変です。それは非常に大きく(何百万行も)得られており、そのサイズによってINSERTが必要以上に遅くなります。私の解決策は、core
に1週間のデータしか保持しないことです。だから私はテーブルcore_archive
を構築して、予定された間隔で1週間以上経過したものをすべて入れました。MySqlテーブルを最適化するための外部キー制約の問題を解決する方法
スケジュール間隔でスクリプトはすべての新しい値をcore
に取得し、それらを操作して3番目のテーブルcore_details
に配置します。スキーマは、core_details
には、PKに対する外部キー制約がcore
にあります。
私の問題は、この外部キー制約の(core_detail
間とcore
)、私はがcore
から任意の行を削除することはできませんということです。だから何をすべきか?
オプション:
core_archive
で古い外部キー制約を指すようにALTER TABLEを実行します。しかし、実際には大規模な本番データベースでは安全に実行できません。- ? [私は、任意の考えStackO ...他の実行可能なアイデアを持っていない?]
これまでのところ、これは唯一の選択肢のようです。提案ありがとう。 – kmarks2