Mysql переименование таблицы (замена таблиц) занимает много времени - PullRequest
0 голосов
/ 23 января 2020

Мне нужно обновить таблицу, загрузив данные из файла и обрезав существующие данные.

Это мой код, который загружает данные из файла в новую таблицу, которая совпадает с таблицей назначения, затем я поменяйте местами новую таблицу и таблицу назначения. Этот подход работает, но иногда он зависает при переименовании действий. Это приводит к зависанию частей моего сайта, использующих эту таблицу.

    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 секунды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...