簡體   English   中英

如何從MySQL大表中刪除列

[英]How to delete a column from a MySQL big table

我有一個250GB的500M行MySQL表,想刪除它的一個列。 該列是VARCHAR(255)。 我希望盡可能少地執行此操作停機時間。 思考:

  1. 我可以添加任何可以幫助此操作的配置嗎?
  2. 在每行之前迭代php並刪除其中的值會更好嗎?
  3. 之后需要OPTIMIZE TABLE嗎?
  4. 對這樣的程序估計合理的時間是多少?

為了確保最短的停機時間,我會親自備份並恢復到備用數據庫,然后在再次恢復之前執行“刪除列”。

  1. 鏈接

  2. 它可能是,但它需要更長的時間,更容易出錯我會說。

  3. 是的,好主意,也考慮使用ANALYZE TABLE

優化表; 當DBMS脫機以進行計划維護時,應運行OPTIMIZE命令。 該命令是非標准SQL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM