我有一张看起来像这样的大桌子:
CREATE TABLE `images` (
`image_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(10) unsigned NOT NULL,
`data` mediumblob,
PRIMARY KEY (`user_id`,`image_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
我必须在其上运行一个压缩 blob 字段的查询。MySQL 是否能够通过以下查询使用索引:
UPDATE images SET data = COMPRESS(data) WHERE (user_id = ? AND image_id = ?) OR (user_id = ? AND image_id = ?) OR (...) OR (...);
我必须这样做,因为我无法在单个查询中更新整个表,而且我不能只使用user_id
.
编辑:explain
并且update
不起作用,你们知道,对吧?