問題陳述:
在大型MySQL 生產上建立索引表可能會導致資料庫鎖定。這對確保在索引過程中不間斷地存取資料庫提出了挑戰。
解決方案:
從MySQL 5.6開始,資料庫支援在操作過程中增量索引更新。這意味著索引建立或刪除可以與讀取和寫入同時進行,從而降低阻塞風險並確保資料完整性。
在 MySQL 5.5 及更早版本中,UPDATE 操作會更新具有活動索引的表會遇到區塊。這可能會嚴重影響效能並導致中斷。
要避免這些阻塞,請考慮以下方法:
1.循環主伺服器:
2. Percona 的 pt-online-schema-change:
3. RDS 唯讀副本升級:
如果使用 Amazon 的 RDS,您可以建立唯讀副本並對其執行索引更新。完成後,將副本提升為新的主節點。此方法透過自動執行故障轉移和資料遷移來簡化流程。
注意:此方法需要重新啟動應用程式才能重新連接到更新的資料庫實例。
以上是如何在不中斷操作的情況下對巨大的 MySQL 生產表建立索引?的詳細內容。更多資訊請關注PHP中文網其他相關文章!