每天一次,我需要使用ftp和mysqlimport從網上下載一個新文件來更新MySQL表。但是,我希望我的網站在mysqlimport操作期間保持平穩運行,這需要相當長的一段時間(這是一張大桌子)。 確保用戶不會等待導入完成的好方法是什麼? 我正在考慮導入臨時表,然後重新命名它。這是一個很好的計劃嗎?如何在不中斷網站的情況下刷新MySQL表?
3
A
回答
8
一個鮮爲人知的事實是,您可以在mysql中連接多個重命名語句,並且它將以原子方式執行所有名稱更改。
create table newtable like oldtable;
insert into newtable .......
rename table oldtable to deleteme, newtable to oldtable;
drop table deleteme;
重命名錶將阻止讀者(實際上它會阻止名稱的任何分辨率),但應該是一個非常快速的操作。
0
如果是增量更新的情況,您可以簡單地通過cron /調度來限制插入新數據。
每分鐘載入XYZ記錄,查看上一次更新是否完成,鎖定文件,延遲插入,清洗並重復。
如果您想真正瞭解它,請讓更新腳本在運行時檢查服務器負載並相應地調整導入數量。
這會導致新的數據出現在批處理中,但會讓您在更新網站時保持運行。
相關問題
- 1. 如何在不刷新網頁的情況下播放歌曲?
- 2. Autopostback不斷刷新網站
- 3. 如何在不刷新頁面的情況下發送表單
- 4. 如何在不刷新頁面的情況下提交表單
- 5. KoGrid如何在數據更改的情況下刷新網格
- 6. 如何在不刷新的情況下更新頁面
- 7. 如何在不刷新C#中窗口圖像的情況下刷新窗口?
- 8. 如何在不重新啓動的情況下刷新MySQL配置文件?
- 9. 如何在不重新啓動MySQL的情況下刷新performance_schema統計信息?
- 10. 如何在不刷新的情況下自動從MySQL更新數據?
- 11. 如何在不刷新頁面的情況下更新MYSQL字段?
- 12. 如何在不刷新網頁的情況下從服務器接收更新
- 13. 如何在不刷新Firebase的情況下實時更新網頁?
- 14. 如何在不重新發送信息的情況下刷新網頁?
- 15. 在不刷新其主視圖的情況下刷新狀態
- 16. 在不中斷觸摸的情況下檢測2次刷卡
- 17. 如何在不刷新頁面的情況下上傳文件?
- 18. 如何在不觸發select_)節點的情況下刷新jstree
- 19. 如何在不刷新的情況下發送查詢請求?
- 20. 如何在不刷新頁面的情況下上傳圖片
- 21. 如何在不刷新angularjs的情況下返回上一頁?
- 22. 如何在不刷新頁面的情況下更改URL?
- 23. 如何在不觸摸的情況下顯示刷新視圖?
- 24. 如何在不刷新的情況下綁定多個dropdownlist?
- 25. 如何在不刷新頁面的情況下保存文件?
- 26. 在不刷新的情況下更新Django中的值
- 27. 如何在不刷新索引的情況下刷新DIV頁面
- 28. 如何在不刷新頁面的情況下更新PHP中的MySQL表格數據?
- 29. 在不刷新的情況下循環瀏覽模型列表
- 30. 在不刷新頁面的情況下提交表單