2017-02-05 38 views
0

我當時正在研究具有接近5000萬個數據(2GB大小)的表格。我有要求優化性能。所以當我通過phpmyadmin面板在列上添加索引時,表得到鎖定並導致在該表上阻止隊列中的所有查詢並最終導致重新啓動/終止所有查詢。 (是的,我忘了提到我在製作這個,我的壞!)帶有5000萬數據和添加索引的表格需要太多時間

當我做了一些研究,我發現了一些解決方案,如創建重複表,但任何其他方法?

回答

0

您可以按照下列步驟,

  1. 創建臨時表
  2. 創建的第一個表的觸發器(用於 插入,更新,刪除),使它們被複制到臨時 表
  3. 在小批量,數據遷移完成後,重命名錶,新表 ,並刪除其他表

卜t如你所說你在做生產,那麼你需要考慮現場流量,同時放下一張桌子並創建另一張桌子

+0

是的,我可以。我會再次嘗試 – Sanky

+1

更好的是,使用'pt-online-schema-change';它爲你自動完成所有的工作。 –

+0

@瑞克謝謝你!我會在分期環境中嘗試一下 –