序文 この記事では主に、MySQL で大規模なデータ テーブルのコピーの効率を向上させることに関する関連コンテンツを紹介し、参考と学習のために共有します。仕事で大規模なデータ テーブルに遭遇することはよくあります。 シナリオ: フィールドの追加や削除など、データ テーブルを変更する必要があります。これは、数万件のデータを含むデータ テーブルでは直接実行できますが、1,000 万件近くのデータを含むデータ テーブルでは実行するのは簡単ではありません。 考えられる状況: 1. データベースをクラッシュまたはフリーズさせる 2. 他のプロセスがデータベースの読み取りおよび書き込みI/Oを遅くする 3. 別の可能性としては、データ形式が不一致でデータを書き込めないということがあります(たとえば、varchar 型を int 型に変更する必要があり、データ長が大きすぎるとエラーが報告されます)。 解決: - 1. データ テーブルを再作成します。create new_table 2. 2つのステップに分ける 1). create new_table 2). insert into new_table ----(データ量が少ない場合は、このソリューションを使用することをお勧めします。データ量が数百万または数千万に達すると、このソリューションは適用できません。) 拡張: データ テーブルの一部のみをコピーする場合は、 insert into new_table (field1, field2) select field1, field2 from old_table [limit n,m]; を指定できます。 3. 1). 2). では、早速図を見て、データ量が約 100 万の場合のソリューション 2 とソリューション 3 の処理速度がどの程度異なるかを見てみましょう。 >money_info から * を選択して、出力ファイル '/var/lib/mysql-files/money.txt' に格納します。 > money_info のようなテーブル money_info_cyq11 を作成します。 >ファイル '/var/lib/mysql-files/money.txt' のデータをテーブル money_info_cyq11 にロードします。 > money_info のようなテーブル money_info_cyq22 を作成します。 > money_info_cyq22に挿入 money_infoから*を選択します。 速度は4倍くらいで、ネットで言われている20倍の速度はまだ体験していない[顔を隠す] 注: まだ問題があります 出力ファイルディレクトリは必須です > '%secure%' のような変数を表示します。 このコマンドを使用すると、secure_file_priv の out_file に対応するディレクトリの場所を確認し、この場所を指定してエクスポートすることができます。 要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
<<: geo モジュールを使用して Nginx でホワイトリストを設定する例
毎日jQueryプラグイン - 検索履歴を作成するためのものです。参考までに、具体的な内容は次のとお...
最近、カンファレンスの健康申告システムに取り組んでいたとき、バックエンドを構築する必要があり、vue...
導入スロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメントを記録で...
序文apt-get コマンドは、Ubuntu システムのパッケージ管理ツールです。パッケージのインス...
1. システムインストールパッケージ yum -y インストール make gcc-c++ cmak...
この記事では、VMware 環境下で Ubuntu と Windows 間でファイルを共有する方法を...
ナビゲーションなどは日々の開発でよく使うので、記録として記事を書きます。ナビゲーションは終了/開始位...
1. はじめにls コマンドはディレクトリの内容を表示するために使用され、Linux で頻繁に使用さ...
目次序文1. 使用例2. 実施プロセス3. コンポーネントコード要約する序文1. cavans では...
初めて docker に触れたときは本当に戸惑いました。初心者向けのチュートリアルを長い間読みました...
目次1. プロセスとスレッドの概念2. プロセス管理とは何ですか? 3. プロセス管理の役割4. L...
01. コンパイルオプションとカーネルコンパイルLinux カーネル (英語: linux kern...
キーボード文字英語`バッククォート〜チルダ!叫ぶ@で#ナンバーサイン$ドル%パーセント^キャレット&...
——「MySQL in Simple Terms (第 2 版)」からのメモ数値型整数型バイト最小最...
目次背景は次のとおりです。何が起こるでしょうか?背景は次のとおりです。実際の開発では、ネットワークの...