【发布时间】:2014-07-28 16:32:28
【问题描述】:
我正在使用外键和 InnoDB。 我有一个包含所有上传的图像数据的图像表。 每次我删除与图像表的连接时,我通常将图像表中的特定行标记为已删除。所以垃圾收集器通常会删除未使用的图像。
一次没有超过 1 个连接使用任何图像。
出于优化目的,我想在图像表(列“Id”)中找到所有没有连接的行。因为任何未使用的行都是僵尸行。
从我们失败的测试中,仍然有一些行没有连接。
示例图像表:
CREATE TABLE `image` (
`Id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`FileName` varchar(255) NOT NULL,
`Is_Deleted` tinyint(1) unsigned NOT NULL DEFAULT '0',
`Disabled` tinyint(1) unsigned DEFAULT '0',
PRIMARY KEY (`Id`),
) ENGINE=InnoDB AUTO_INCREMENT=816 DEFAULT CHARSET=utf8;
【问题讨论】:
标签: mysql foreign-keys innodb