1. アイデア MySQL に 1,000,000 件のレコードを挿入するのにたった 6 秒しかかかりませんでした。 要点: 1. PreparedStatement オブジェクトの使用 2. rewriteBatchedStatements=true はバッチ挿入をオンにし、挿入は 1 回だけ実行され、すべての挿入が高速化されます。 2. コード パッケージ test0823.demo1; java.sql.* をインポートします。 /** * @著者: Bei-Zhen * @日付: 2020-08-24 0:43 */ パブリッククラスJDBC2 { //静的int count = 0; パブリック静的voidメイン(String[] args) { 長い開始 = System.currentTimeMillis(); 接続(); 長い終了 = System.currentTimeMillis(); System.out.println("所要時間: " + (終了 - 開始)/1000 + "秒"); } パブリック静的voidconn(){ //1. ドライバー jar パッケージをインポートします //2. ドライバーを登録します (mysql5 以降のドライバー jar パッケージでは、ドライバーの登録手順を省略できます) //Class.forName("com.mysql.jdbc.Driver"); //3. データベース接続オブジェクトを取得します。Connection conn = null; PreparedStatement pstmt = null; { 試す { //"&rewriteBatchedStatements=true"、一度に複数のデータを挿入、一度だけ挿入conn = DriverManager.getConnection("jdbc:mysql:///test?" + "&rewriteBatchedStatements=true","root","root"); //4. SQL ステートメントを定義します。String sql = "insert into user values(default,?,?)"; //5. SQLを実行するPreparedStatementオブジェクトを取得する pstmt = conn.prepareStatement(sql); //6. 継続的にSQLを生成する (int i = 0; i < 1000000; i++) の場合 { pstmt.setString(1,(int)(Math.random()*1000000)+""); pstmt.setString(2,(int)(Math.random()*1000000)+""); pstmt.addBatch(); } //7. pstmt.executeBatch() を実行してデータベースにデータを一度挿入します。 System.out.println("1,000,000 個の情報が正常に追加されました!"); } キャッチ (SQLException e) { e.printStackTrace(); ついに //8. リソースを解放する //nullポインタ例外を回避する if (pstmt != null) { 試す { pstmt.close(); } キャッチ (SQLException e) { e.printStackTrace(); } } if(conn != null) { 試す { 接続を閉じる(); } キャッチ (SQLException e) { e.printStackTrace(); } } } } } } 3. 運用結果
これで、6 秒で 100 万件のレコードを MySQL に挿入する方法に関するこの記事は終了です。100 万件のレコードを MySQL に挿入する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: Linuxはlsof/extundeleteツールを使用して、誤って削除されたファイルやディレクトリを復元します。
MERGE ストレージ エンジンは、MyISAM テーブルのグループを論理ユニットとして扱い、同時に...
新しいプロジェクトでは、axios によって重複した送信を防ぐことができますが、古いプロジェクト (...
目次序文オプションの連鎖ヌル結合呼び出されていない関数のチェック他の序文TypeScript 3.7...
最近 Docker を勉強しているのですが、よく問題に遭遇します。Docker イメージをダウンロー...
MySQL 5.7.17、現在最新バージョンのようです、ダウンロードアドレスここで、プラットフォーム...
1. 背景Sysbench は、システムのハードウェア パフォーマンスをテストできるストレス テスト...
1. メディアクエリ方式 /*iPhone X への適応*/ @media 画面のみ、(デバイス幅:...
方法1: var a = [1,2,3]; var b = [4,5] b を連結します。 コンソー...
HTMLでは、中国語のフレーズ「學好好學」は「學好好學」と表現できます。プロジェクトでは、SMSアラ...
目次1. 匿名スロット2. 名前付きスロット要約するスロット (slot) は、Vue のコンテンツ...
序文私はプログラマーとしてスタートした PHP プログラマーです。これまで、トレーニング コースで勉...
スタンドアロンの hbase について、まずは説明しましょう。 Dockerをインストールするまず ...
プロジェクトシナリオプロジェクトの背景全体にカスタム透かしを追加します。透かしのテキスト、フォントの...
最近、MySQL を学び始めました。インストールはスムーズに進み、インターネット上の既成のチュートリ...
SQLはテーブル内の重複レコードをすべて見つけます1. テーブルには id と name の 2 つ...