При использовании Not существует, как только обработчик запросов находит строку, он может остановиться, но если строка действительно не существует, то он должен проверить всю таблицу (для столбцов, определенных в подзапросе) перед тем, как точно знает, что строки не существует ... Поэтому единственный способ ускорить ее - если в подзапросе есть какие-либо фильтры, поместить индекс или индексы в эти столбцы. В вашем случае это будет означать индекс для Table2.column1
Использование вместо этого объединения, скорее всего, не поможет, поскольку, независимо от того, является ли это подзапросом объединения или несуществующим, обработчик запросов должен выполнить те же логические операции ввода-вывода для обработки данных.
Чтобы использовать объединение, (я не уверен в синтаксисе MySql, это может быть: P
UPDATE TABLE1 SET
column1 = 100,
column2 = 200
From Table1 t1
Left Join TABLE2 t2
ON t2.column1 = t1.column1
WHERE t2.column1 Is Null
или
Update t1 Set
column1 = 100,
column2 = 200
From Table1 t1
Left Join Table2 t2
ON t2.column1 = t1.column1
Where t2.column1 Is Null