Для массовых обновлений вам определенно следует использовать LOAD DATA INFILE
, а не множество небольших обновлений.
Сначала загрузите новые данные во временную таблицу:
LOAD DATA INFILE 'foo.txt' INTO TABLE bar (productid, info);
Затем запустите обновление:
UPDATE products, bar SET products.info = bar.info WHERE products.productid = bar.productid;
Если вы также хотите INSERT
новых записей из того же файла, из которого вы обновляете, вы можете SELECT INTO OUTFILE
всех записей, которые не имеют совпадающего идентификатора в существующей таблице, затем загрузить этот файл в ваш продукт таблицы с использованием LOAD DATA INFILE
.