1. テストテーブルを作成する テーブル `mysql_genarate` を作成します ( `id` int(11) NOT NULL AUTO_INCREMENT, `uuid` varchar(50) デフォルト NULL, 主キー (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5999001 デフォルト CHARSET=utf8; 2. ループ挿入用のストアドプロシージャを作成する CREATE DEFINER=`root`@`localhost` PROCEDURE `test_two1`() 始める i INT DEFAULT 0 を宣言します。 i < 3000 ですが mysql_genarate ( uuid ) VALUES( UUID() ) に挿入します。 i = i + 1 を設定します。 終了しながら; 終わり テスト 3. ストアドプロシージャを最適化する バッチ挿入SQL文を使用する CREATE DEFINER=`root`@`localhost` PROCEDURE `insertPro`( IN sum INT ) 始める count INT DEFAULT 0 を宣言します。 i INT DEFAULT 0 を宣言します。 SET @exesql = concat( "mysql_genarate(uuid) の値に挿入" ); @exedata を "" に設定します。 カウントを 0 に設定します。 i = 0 に設定します。 count < sum の場合、DO @exedata を連結して設定します( @exedata, ",(UUID())" ); カウントをカウント + 1 に設定します。 i = i + 1 を設定します。 i % 1000 = 0 の場合 @exedata を SUBSTRING( @exedata, 2 ) に設定します。 SET @exesql = concat( "mysql_genarate(uuid) の値に挿入", @exedata ); @exesql からステートメントを準備します。 ステートメントの実行; DEALLOCATE PREPARE ステートメント; @exedata を "" に設定します。 終了の場合; 終了しながら; 長さ(@exedata) > 0の場合 @exedata を SUBSTRING( @exedata, 2 ) に設定します。 SET @exesql = concat( "mysql_genarate(uuid) の値に挿入", @exedata ); @exesql からステートメントを準備します。 ステートメントの実行; DEALLOCATE PREPARE ステートメント; 終了の場合; 終わり insertPro(10000) の呼び出しには数十分の一秒かかりますが、これは許容範囲内です。 以上が数千万件のデータのMySQLループ挿入の詳細です。MySQLループ挿入の詳細については、123WORDPRESS.COMの他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
>>: IDEA の Docker プラグインを介して Springboot プロジェクトを公開する方法の詳細なチュートリアル
Windows 10 で Docker コンテナのポートにアクセスできない問題を解決する (ポート ...
1. 既存のnginxがipv6をサポートしているかどうかを確認する既存の nginx が ipv6...
目次Vue2.x の使用法グローバル登録部分登録使用フック機能フック関数のパラメータVue3.x の...
innodb_autoinc_lock_mode パラメータは、auto_increment 列を持...
初心者の Linux ユーザーとして、私は単純なgcc/g++操作を何度も使用してきましたが、少し複...
サーバーサイドレンダリング (SSR) を使用する理由検索エンジンのクローラーが完全にレンダリングさ...
問題の説明データ転送に Nginx を使用し、フロントエンドとバックエンドが分離された Spring...
「ウェブサイトを高級感のあるものにするにはどうすればいいでしょうか? それともデザイン重視にすればい...
目次導入例: イベントの委任記述方法1: イベント委譲書き方2: 各子要素がイベントをバインドする例...
0. 背景ハードウェア: Xiaomi Notebook Air 13/Inter Core i7-...
まさか、2021年になってもTypeScriptについて聞いたことがない人がいるなんて?プロジェクト...
最近、Dreamweaver を使用して製品プレゼンテーションを作成し、画像にハイパーリンクを追加し...
目次序文コアコードコードのファイル表示部分序文この記事では主に、Vue プロジェクトでの添付ファイル...
データシート /* Navicat SQLite データ転送 ソースサーバー: school ソース...
この記事では、例を使用して、MySQL データベースの最適化のためのテーブルおよびデータベース シャ...