0

テーブルリストがあります。次のような内容の従属テーブルがあります。

CONSTRAINT `FK_list_id` FOREIGN KEY (`list_id`) 
  REFERENCES `lists` (`list_id`) 
  ON DELETE CASCADE ON UPDATE CASCADE.

たとえば、いくつかのlist_idに対して、子テーブルに多数の行(10万以上)がある場合、それを削除するのに長い時間がかかります。また、これらの操作によってサーバーが抑制される可能性があります。

この場合、どのようにリストを削除すればよいですか?を使用するON DELETE CASCADEのではなく、リストを削除してから、子行のカスケード削除でリストを削除する代わりに、バックグラウンドでサブスクライバーを削除する必要がありますか?

4

1 に答える 1

0

代わりに使用できON DELETE SET NULL、後で FK ID があるレコードを検索してNULL削除できます。

于 2012-05-09T13:29:14.437 に答える