Блокировка таблицы на время UPDATE
Имеется таблица innoDB с 20 млн записями.
CREATE TABLE t1(
`id` INT(9) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` TEXT NULL DEFAULT NULL,
`type` INT(10) UNSIGNED NOT NULL DEFAULT '0'
...
PRIMARY KEY (`id`) USING BTREE,
INDEX (`type`) USING BTREE,
) ENGINE=InnoDB;
При длительных запросах на обновление данных, например
UPDATE t1 SET ... WHERE type=2;
другие клиенты имеют доступ на чтение из таблицы, но другие запросы, которые изменяют таблицу выстраиваются в очередь ожидания.
Это происходит потому, что запускается неявная транзакция связанная с длительным запросом UPDATE или имеет место блокировка таблицы?
Можно ли во время работы длительного запроса UPDATE разрешить другим пользователям изменять таблицу не дожидаясь завершения того длительного запроса?