【发布时间】:2011-06-13 10:31:34
【问题描述】:
我有一张图片表,这些图片将有各种后代,例如缩略图、不同大小的版本和裁剪(以及这些裁剪的缩略图)等。
这意味着每个原始图像都可能有相当多的后代。这些后代由提供直接父级的 parent_id 字段引用。
什么是最好、最有效的方法,因为显然为每个图像/级别选择所有子级然后删除它们将是相当沉重的,如果有批量图像删除?
【问题讨论】:
标签: mysql cascading-deletes descendant
我有一张图片表,这些图片将有各种后代,例如缩略图、不同大小的版本和裁剪(以及这些裁剪的缩略图)等。
这意味着每个原始图像都可能有相当多的后代。这些后代由提供直接父级的 parent_id 字段引用。
什么是最好、最有效的方法,因为显然为每个图像/级别选择所有子级然后删除它们将是相当沉重的,如果有批量图像删除?
【问题讨论】:
标签: mysql cascading-deletes descendant
您需要查看.. 是级联删除。
mysql网站上的这篇文章应该可以帮到你。
http://dev.mysql.com/tech-resources/articles/mysql-enforcing-foreign-keys.html
【讨论】:
使用 InnoDB 外键 - 并使用级联删除选项将 parent_id 链接到 id
或者使用不同的树索引,以避免递归。 例如嵌套集模型,如Managing Hierarchical Data in MySQL 中所述。
【讨论】: