我有图像的表,并且这些图像将具有不同的后代,如缩略图,不同尺寸的版本,以及农作物(以及这些作物的大拇指)等Mysql的删除后代
这意味着可以每个原始图像可能有不少后代。这些后代由一个parent_id字段引用,该字段给出了直接父对象。
什么是最好的,最有效的方式来做到这一点,显然选择每个图像/级别的所有儿童,然后删除它们将是非常沉重的,如果有批次图像删除?
我有图像的表,并且这些图像将具有不同的后代,如缩略图,不同尺寸的版本,以及农作物(以及这些作物的大拇指)等Mysql的删除后代
这意味着可以每个原始图像可能有不少后代。这些后代由一个parent_id字段引用,该字段给出了直接父对象。
什么是最好的,最有效的方式来做到这一点,显然选择每个图像/级别的所有儿童,然后删除它们将是非常沉重的,如果有批次图像删除?
你需要看的是级联删除。
本文来自mysql网站应该会帮助你。
http://dev.mysql.com/tech-resources/articles/mysql-enforcing-foreign-keys.html
使用InnoDB的外凯斯 - 并链接到PARENT_ID与ID级联删除选项
或者使用不同的树索引,以避免递归。 例如嵌套集模型,如Managing Hierarchical Data in MySQL中所述。
该文章(相当于一些来自技术资源)似乎已经消失。这个网站有一个镜像/备份,它看起来像:http://kambing.ui.ac.id/mysql/tech-resources/articles/mysql-enforcing-foreign-keys.html – 2011-08-05 17:27:31