每天一次,我需要用从网上下载的新文件更新 MySQL 表,使用 ftp 然后使用 mysqlimport。但是,我希望我的网站在 mysqlimport 操作期间保持平稳运行,这需要相当长的时间(它是一个大表)。 确保用户不会等待导入完成的好方法是什么? 我正在考虑导入到一个临时表,然后重命名它。这是一个好的计划吗?
最佳答案
一个鲜为人知的事实是,您可以在 mysql 中连接多个重命名语句,它会自动执行所有名称更改。
create table newtable like oldtable;
insert into newtable .......
rename table oldtable to deleteme, newtable to oldtable;
drop table deleteme;
重命名表会阻塞读取器(事实上它会阻塞名称的任何解析)但应该是一个非常快速的操作。
关于mysql - 如何在不中断网站的情况下刷新 MySQL 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1852971/