序文 フィールドの追加は誰でもよく知っていると思います。簡単に記述できます。MySQL テーブルにフィールドを追加するには、次の SQL を実行するだけです。 ALTER TABLE tbl_tpl ADD title(255) DEFAULT '' COMMENT 'Title' AFTER id; ただし、オンライン テーブルに大量のデータがある場合、フィールドを追加するとテーブルがロックされます。このプロセスには長い時間がかかったり、サービスがクラッシュしたりする可能性があるため、この操作は非常に危険です。 したがって、大きな MySQL テーブルにフィールドを追加するアイデアは次のとおりです。 ① 一時的な新しいテーブルを作成し、まず古いテーブルの構造(インデックスを含む)をコピーします old_table のようなテーブル new_table を作成します。 ②新しいテーブルに新しいフィールドを追加する ③ 古いテーブルからデータをコピーする 新しいテーブルに挿入(フィールド1、フィールド2…) 古いテーブルからフィールド1、フィールド2、…を選択 ④ 古いテーブルを削除し、新しいテーブルの名前を古いテーブルの名前に変更します。 ただし、3 番目のステップを実行する場合、このプロセスにも時間がかかる可能性があることに注意してください。このとき、新しいデータが入ってくるので、元のテーブルにデータが書き込まれた時間を記録するフィールドがあるのが最適です。このステップを実行した後、データを見つけて、データの差が非常に小さくなるまで繰り返し新しいテーブルにインポートすることができます。ただし、ごく少量のデータが失われる可能性があります。 したがって、テーブル内のデータが特に大きく、データの整合性を保証する必要がある場合は、操作をシャットダウンするのが最善です。 別の方法: 1. スレーブデータベースにフィールドを追加し、マスターとスレーブを切り替える 2. サードパーティのオンラインフィールド変更ツールを使用する 一般的に、数十万のデータ量の場合は、フィールドを直接追加できます。 要約する 上記は、大規模な MySQL テーブルにフィールドを追加する実装のアイデアです。この記事の内容が、皆さんの勉強や仕事に役立つことを願っています。ご質問がある場合は、メッセージを残してコミュニケーションを取ることができます。 以下もご興味があるかもしれません:
|
<<: node-media-serverを使用してシンプルなストリーミングメディアサーバーを構築する
>>: Linux サーバーに埋め込まれた ddgs および qW3xT.2 マイニング ウイルスの対処の実践記録
以下は、docker の golang イメージに基づいて ssh サービスを構築するためのコードで...
Linux や Unix の cut コマンドは、ファイルの各行から一部を切り取って標準出力に出力す...
今日はベテランの貴重な経験を共有します。著者は技術管理の経験が7年あり、多い時は80人以上を率いてい...
序文gdb は Linux で非常に便利なデバッグ ツールです。コマンドライン モードのデバッグ ツ...
この記事の例では、Vueモバイル端末で指のスライド効果を実現するための具体的なコードを紹介します。具...
説明する2 つの日付間の時間間隔を返します。文法DateDiff(間隔、日付1、日付2 [、週の最初...
wxsとは何ですか? wxs (WeiXin Script) は、小規模プログラム用のスクリプト言語...
letter-spacing プロパティ: 文字間のスペース (文字間隔) を増減します。このプロ...
目次序文1. これを使用してデータ内のデータを読み取るプロセス2. Dep.target はいつ存在...
リレーショナル データベースでは、悲観的ロックと楽観的ロックがリソース同時実行シナリオのソリューショ...
最近、Rich Harris の <Rethinking Reactivity> ビデオ...
0. 準備: • iTunesを閉じる• タスクマネージャーでiTunesから始まるサービスを終了し...
この記事は、参考のためにMySQL 8.0.18のインストールと設定のグラフィックチュートリアルを記...
この記事の環境はWindows 10、MySQLのバージョンは5.7.12-logです1. 基本的な...
目次Linux での Hbase のインストールと設定1. Hbaseインストールパッケージをダウン...