Мне нужно обновить таблицу, загрузив данные из файла и обрезав существующие данные.
Это мой код, который загружает данные из файла в новую таблицу, которая совпадает с таблицей назначения, затем я поменяйте местами новую таблицу и таблицу назначения. Этот подход работает, но иногда он зависает при переименовании действий. Это приводит к зависанию частей моего сайта, использующих эту таблицу.
DROP TABLE IF EXISTS t_new;
DROP TABLE IF EXISTS t_old;
CREATE TABLE t_new LIKE t;
LOAD DATA LOCAL INFILE 'path' INTO TABLE t_new
CHARACTER SET cp1251
FIELDS TERMINATED BY '(|)'
LINES TERMINATED BY '\n';
RENAME TABLE t TO t_old, t_new TO t;
DROP TABLE t_old;
Мы использовали для усечения целевой таблицы и затем загружали данные из файла. Но это делает таблицу пустой на ~ 1,5 секунды.