テーブルをロックせずに大規模な MySQL 運用テーブルにインデックスを作成する方法
問題の背景:
大規模な MySQL テーブルにインデックスを作成することは、特に中断のないアクセスが重要な運用環境では、困難な作業になる可能性があります。従来の CREATE INDEX ステートメントでは、テーブルが完全にロックされ、すべての同時操作がブロックされる可能性があります。
MySQL バージョンに関する考慮事項:
循環マスター アプローチ:
MySQL バージョン 5.6 より前の場合、効果的なアプローチの 1 つは次のとおりです。循環マスター手法:
Percona の pt-online-schema-change ツール:
このツールは次の方法で循環マスター アプローチを自動化します:
]AWS RDS の考慮事項:
Amazon の RDS でホストされている MySQL データベースの場合、「リードレプリカ プロモーション」機能を使用できます。テーブルをロックせずにスキーマ変更を容易にするために使用されます。これには、読み取り専用スレーブに変更を加え、それを新しいマスターに昇格させることが含まれます。
代替テクニック:
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3