私はこのようなクエリを実行するのに時間がかかります。テーブルは約400万行です。大きなテーブルのレコードを削除するとMySQLが遅くなる
DELETE FROM TABLE WHERE value_was IS NULL OR value_was <= value_now;
私は(value_was、value_now)のインデックスを作成することができます願っていますので、私はこのテーブルには主キーを持っていない
DELETE FROM TABLE WHERE
ID1 IN (SELECT ID1 from TABLE where value_was IS NULL)
OR ID2 IN (SELECT ID2 FROM TABLE WHERE value_was <= value_now);
ような何かを行うことができます。 2つの複合キーがあります。サブクエリで同じテーブルを使用することはできませんが、最初のクエリのパフォーマンスをどのように向上させるのですか?
ありがとうございました。ありがとうございました。更新
: デシベルが原因のデータが格納されている方法にはInnoDB
テーブルは 'myISAM'または' innoDB'ストレージエンジンに格納されていますか? –
それはinnoDBです。私はまた質問を更新しました。 – toy