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ツールを使用して、誤って削除されたファイルやディレクトリを復元します。
この記事の例では、参考のためにVueカスタムポップアップ効果の具体的なコードを共有しています。具体的...
目次背景DHCPの設定DHCP ファイル (動的ホスト構成プロトコル) の編集tftp 設定sysl...
ソフトウェア開発者は、ネットワーク アプリケーションがどのように動作するかを階層的に完全に理解してい...
インストール環境: CAT /etc/os-release CentOS システムのバージョン情報を...
Tencent Cloud上に構築されたMySQLは、開発用コンピュータでNavicatを使用して...
早朝に MySQL 5.7.19 のインストールを終えたばかりですが、午前中に MySQL が最新バ...
この記事では、テーブル構造操作やフィールド操作など、MySQL データ テーブルの基本的な操作につい...
MySQL 全文検索中国語ソリューション最近、会社のプロジェクトで、データベースで中国語を検索する機...
最近、セキュリティ製品をテストする必要があったため、mariadb の起動ユーザーを root に調...
1. はじめにデータベース内のデータ量が一定レベルに達すると、システムパフォーマンスのボトルネックを...
自己学習型ゲーム開発の道において、最も充実した瞬間は、自分でミニゲームを作り、友達と共有して試しにプ...
1. 位置情報の利用状況の概要ロケーションは、さまざまな処理方法に対してさまざまな種類のリクエストを...
目次インデックスタイプインデックス構造非クラスター化インデックスクエリインデックスカバー要約するイン...
困り果てて、ふと、私がよく行くSinaのタッチスクリーン版はどうやって作られているのだろう?と考えま...
この記事の例では、フロントエンドのページング効果を実現するためのJSの具体的なコードを参考までに共有...