如何使大型表更快地更新MySQl

时间:2015-01-19 09:43:38

标签: mysql sql indexing sql-update

我想优化此表的更新查询,因为它目前需要几秒钟才能执行。我正在使用MySQL 5.6

UPDATE skus1 SET `available` = '1', `locked` = NULL WHERE `locked` IS NOT NULL AND `locked` < (NOW() - INTERVAL 30 MINUTE)

我想优化此查询

UPDATE skus1 SET `available` = '2', `locked` = NOW() WHERE sku = '111111'

我有一个快速运行的SELECT查询,我已经添加了索引

这是我的表结构

CREATE TABLE `skus1` (
 `id` int(10) NOT NULL AUTO_INCREMENT,
 `sku` varchar(9) NOT NULL,
 `available` tinyint(1) NOT NULL DEFAULT '1',
 `locked` timestamp NULL DEFAULT NULL,
 PRIMARY KEY (`id`),
 UNIQUE KEY `sku_2` (`sku`,`locked`),
 KEY `available` (`available`),
 KEY `locked` (`locked`),
 KEY `sku` (`sku`)
) ENGINE=MyISAM AUTO_INCREMENT=500001 DEFAULT CHARSET=utf8

0 个答案:

没有答案