Я использую Mysql 5.5.. + INNODB и сервер Windows.
Случай (сделайте это проще, чем реальный случай):
У меня есть 2 таблицы 1 ГБ с именем new_car
и car
таблица 1 ГБ.
Я заменяю таблицу car
таблицей new_car
каждые 10 часов, а не вручную (автоматически по коду) - важно делать это быстро (реальные данные веб-сайта).
Я читал (скажем, проблема в innodb): http://www.mysqlperformanceblog.com/2011/02/03/performance-problem-with-innodb-and-drop-table/
решение1:
DROP TABLE car;
RENAME TABLE new_car TO car;
Решение 2 (сделать сброс в конце - возможно, он не блокирует доступ к таблице, который происходит во время сброса):
RENAME TABLE car TO temp_car;
RENAME TABLE new_car TO car;
DROP TABLE temp_car;
Решение 3 (усеките быстрое удаление таблицы и создайте пустую таблицу, а затем, возможно, отмените действие после этого должно быть очень быстро):
TRUNCATE TABLE car;
DROP TABLE car;
RENAME TABLE new_car TO car;
Решение4:
RENAME TABLE car TO temp_car;
RENAME TABLE new_car TO car;
TRUNCATE TABLE temp_car;
DROP TABLE temp_car;
Какое решение является лучшим и почему, или, пожалуйста, напишите другое лучшее решение?
Спасибо