2011-06-13 3 views
0

J'ai une table d'images, et ces images ont différents descendants tels que les vignettes, les différentes versions de taille, et les cultures (et les pouces de ces cultures), etc.Mysql delete descendants

Cela signifie que chaque image d'origine peut potentiellement avoir un certain nombre de descendants. Ces descendants sont référencés par un champ parent_id qui donne le parent direct. Qu'est-ce qui va être le meilleur, le plus efficace, car sélectionner tous les enfants pour chaque image/niveau, puis les supprimer va être assez lourd s'il y a une suppression d'image par lot?

Répondre

1

Utilisez InnoDB keyes étrangers - et lien parent_id à id avec cascade supprimer l'option

Ou utilisent différents indices d'arbres, afin d'éviter la récursivité. Par exemple, Modèle de jeu imbriqué, comme expliqué au Managing Hierarchical Data in MySQL.