画像のテーブルがあり、それらの画像には、サムネイル、さまざまなサイズのバージョン、トリミング (およびそれらのトリミングの親指) などのさまざまな子孫があります。
これは、元の各イメージがかなりの数の子孫を持つ可能性があることを意味します。これらの子孫は、直接の親を示す parent_id フィールドによって参照されます。
バッチ画像の削除がある場合、明らかに各画像/レベルのすべての子を選択してからそれらを削除するのはかなり大変になるので、これを行うための最良の最も効率的な方法は何ですか?
画像のテーブルがあり、それらの画像には、サムネイル、さまざまなサイズのバージョン、トリミング (およびそれらのトリミングの親指) などのさまざまな子孫があります。
これは、元の各イメージがかなりの数の子孫を持つ可能性があることを意味します。これらの子孫は、直接の親を示す parent_id フィールドによって参照されます。
バッチ画像の削除がある場合、明らかに各画像/レベルのすべての子を選択してからそれらを削除するのはかなり大変になるので、これを行うための最良の最も効率的な方法は何ですか?
あなたが見ている必要があるのは..カスケード削除です。
mysql Web サイトのこの記事が役に立ちます。
http://dev.mysql.com/tech-resources/articles/mysql-enforcing-foreign-keys.html
InnoDB 外部キーを使用し、カスケード削除オプションを使用して parent_id を id にリンクします
または、再帰を避けるために、別のツリー インデックスを使用します。たとえば、MySQL での階層データの管理で説明されているように、ネストされたセット モデルです。