MySQL Создать таблицу как SELECT

Каждый раз, когда я использую MySQLCREATE TABLE AS SELECT ... все таблицы / индексы, выбранные иззаблокирован на время запроса. Я не очень понимаю, почему? Есть ли способ обойти это?

С помощью: MySQL 5.1.41 а такжеInnoDB

Добавлен пример:

Например, следующий запрос может занять до 10 минут:

CREATE TABLE temp_lots_of_data_xxx AS 
SELECT
    a.*
    b.*
    c.*
FROM a
LEFT JOIN b ON a.foo = b.foo
LEFT JOIN c ON a.foo = c.foo

Попытка обновить значения в таблицах a, b или c во время вышеупомянутого запроса будет ждать завершения вышеупомянутого запроса первым. Я хочу избежать этой блокировки, так как меня не интересуют наиболее полные данные в созданной временной таблице.

постскриптумSET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; не дает никаких изменений в поведении.

Ответы на вопрос(7)

Ваш ответ на вопрос