簡體   English   中英

MySQL如何在不觸發修復的情況下向innodb表添加新的多列索引?

[英]MySQL How to add a new multicolumn index to an innodb table without triggering a repair?

我有一個innodb表,其中包含7000萬條記錄,並且已經有幾個單列索引。 我想添加一個新的多列索引,該索引使我可以在多列上運行查詢。 我不介意限制停機時間(少於一天),但是我想避免使用鍵高速緩存進行維修或其他可能導致添加新索引花費幾天或幾周的問題。

在表為innodb的情況下,是否可以使用CREATE INDEX相當快地添加新索引,還是我需要備份表並將其恢復到已經添加了所需索引的新表中,如MyISAM表所建議的那樣? 還是有另一種更適合innodb的策略?

歡迎來到地獄。 我認為您有兩種選擇:

  1. 遭受停機。 只是為了慰問,我有一張有近400M行的表。
  2. 創建一個新表。 將您的實時應用程序移至該應用程序,然后將舊數據批量遷移到該應用程序中。

暫無
暫無

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

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