sql >> データベース >  >> RDS >> Mysql

大規模なmysqlデータベースのバックアップをインポートする最速の方法は何ですか?

    「最速」をどのように定義するかによって異なります。

    Joelが言うように、開発者の時間は高くつきます。 Mysqldumpは機能し、他の方法では自分で処理したり、他の製品を評価して処理できるかどうかを確認したりする必要がある多くのケースを処理します。

    関連する質問は次のとおりです。

    本番データベーススキーマはどのくらいの頻度で変更されますか?

    注: テーブル、列、ビューなど、つまり実際のコードを壊すものを追加、削除、または名前変更することを指します。

    本番データを開発環境に配置する必要がある頻度はどれくらいですか?

    私の経験では、それほど頻繁ではありません。一般的に、月に1回で十分であることがわかりました。

    mysqldumpにはどのくらい時間がかかりますか?

    8時間未満の場合は、cronジョブとして一晩で実行できます。問題は解決しました。

    すべてのデータが必要ですか?

    これを最適化する別の方法は、関連するデータのサブセットを取得することです。もちろん、これには、エンティティのサブセットと関連するすべての関連エンティティを取得するためのカスタムスクリプトを作成する必要がありますが、最も迅速な最終結果が得られます。スクリプトはスキーマの変更を通じても維持する必要があるため、これは時間のかかるアプローチであり、絶対的な最後の手段として使用する必要があります。本番サンプルは、十分に幅広いデータのサンプルを含み、潜在的なパフォーマンスの問題を特定するのに十分な大きさである必要があります。

    結論

    基本的に、絶対に使用できなくなるまでmysqldumpを使用します。別のソリューションに時間を費やすのは、開発に費やさない時間です。



    1. カテゴリごとのMySQL制限結果

    2. MySQL用のSpringBatch3アップグレードスクリプトはありますか?

    3. SQL-2つの異なるテーブルから行を選択します

    4. EFコア-テーブル'*.__EFMigrationsHistory'は存在しません