序文 この記事では主に、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 でホワイトリストを設定する例
1. 属性付きHTMLタグXML/HTML コードコンテンツをクリップボードにコピー< htm...
Vueベースこの機能の核となるアイデアは、JavaScript コードを通じてページ上のノードの左余...
目次アポロ コンフィギュレーション センターとは何ですか?アポロの特徴クライアントアーキテクチャアー...
コンテナにネットワークインターフェースを追加する1 デフォルトのネットワークモードでコンテナを実行す...
UNIONの使用ほとんどの SQL クエリは、1 つ以上のテーブルからデータを返す単一の SELEC...
序文良い習慣はすべて宝物です。この記事は、SQL の後悔の治療法、SQL パフォーマンスの最適化、S...
場合によっては、フォーム内のテキスト ボックスを読み取り専用にして、ユーザーがその中の情報を変更でき...
目次序文VueUseとは使いやすいおなじみの手ぶれ補正やスロットル機能もありますグローバル状態を共有...
jQueryは劇場の座席選択と予約の効果を実現します。参考までに、具体的な内容は次のとおりです。効果...
MyISAM と InnoDB は、MySQL で最も一般的なストレージ エンジンです。前回の記事で...
実際、Vueでaxiosをカプセル化するのは非常に簡単ですまず、srcパスにhttpフォルダを作成し...
MySQLへのリモートアクセスを有効にするデフォルトでは、MySQL ユーザーにはリモート アクセス...
目次js ディープコピーデータ保存方法浅いコピー/深いコピーとは何か一般的なディープコピーの実装1....
私が初めて Web 開発を独学で学んだ頃は、いわゆる DIV/CSS レイアウトはなく、テーブル レ...
序文MySQL クエリは select コマンドを使用し、limit および offset パラメー...