1. 程式人生 > >關於批量插入資料(100萬級別的資料,mysql)

關於批量插入資料(100萬級別的資料,mysql)

測試資料庫為mysql!!!

方法一:

public static void insert() { // 開時時間 Long begin = new Date().getTime(); // sql字首 String prefix = "INSERT INTO tb_big_data (count, create_time, random) VALUES "; try { // 儲存sql字尾 StringBuffer suffix = new StringBuffer(); // 設定事務為非自動提交 conn.setAutoCommit(
false); // Statement st = conn.createStatement(); // 比起st,pst會更好些 PreparedStatement pst = conn.prepareStatement(""); // 外層迴圈,總提交事務次數 for (int i = 1; i <= 100; i++) { // 第次提交步長 for (int j = 1; j <= 10000; j++) { // 構建sql字尾 suffix.append("(" + j * i + ", SYSDATE(), " + i * j
* Math.random() + "),"); } // 構建完整sql String sql = prefix + suffix.substring(0, suffix.length() - 1); // 新增執行sql pst.addBatch(sql); // 執行操作 pst.executeBatch(); // 提交事務 conn.commit(); // 清空上一次新增的資料 suffix = new StringBuffer(); } // 頭等連線 pst.close(); conn.close(); } catch (SQLException e) {
e.printStackTrace(); } // 結束時間 Long end = new Date().getTime(); // 耗時 System.out.println("cast : " + (end - begin) / 1000 + " ms"); 方法二:    }

輸出時間:cast : 23 ms

該方法目前測試是效率最高的方法!

方法二:

public static

相關推薦

關於批量插入資料100級別資料mysql

測試資料庫為mysql!!! 方法一: public static void insert() { // 開時時間 Long begin = new Date().getTime(); // sql字首 String pre

關於批量插入資料之我見100級別資料mysql

因前段時間去面試,問到如何高效向資料庫插入10萬條記錄,之前沒處理過類似問題,也沒看過相關資料,結果沒答上來,今天就查了些資料,總結出三種方法: 測試資料庫為mysql!!! 方法一: publicstaticvoid insert() {          

MySql 100級別資料中隨機獲取一條或多條記錄之RAND()優化

處理業務中,有這樣的需求,例如:有100W甚至更多的使用者,此時我們要隨機一條男性或者女性使用者出來做資料操作。基於這個需求,我們做一下實驗。 基礎準備 準備一張使用者表,結構如下 CREATE TABLE `user` (

mysql中關於批量插入資料1、10100、1000、1億級別資料

硬體:windows7+8G記憶體+i3-4170處理器+4核CPU 首先貼上資料庫的操作類BaseDao: import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatem

mysql中關於批量插入資料1、10100、1000、1億級別資料

硬體:windows7+8G記憶體+i3-4170處理器+4核CPU 關於前天寫的批量插入資料,還有一種方式,就是通過預先寫入文字檔案,然後通過mysql的load in file命令匯入到資料庫,今天把這種方式也說一下,首先是main方法呼叫: 解釋一下為什麼要兩個引數: 第一個引

使用jdbc向資料庫中注入大量資料以10W條資料批量插入為例

例項:10w條資料的插入(批量插入) import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; public class HomeWork02 { //預

【PHP+MYSQL批量插入時表中有相同資料的話則批量更新

應用場景 有時候我們向資料庫插入記錄時,有時會有這種需求,當符合某種條件的資料存在時,去修改它,不存在時,則新增資料的情況。 比如說系統配置則一塊,如有下表: CREATE TABLE `system_config` ( `id` int(11) unsigned NOT N

mybatis 批量插入oracle 如果表裡存在就更新 不存在就插入資料

判斷需要插入的資料是否存在,如果不存在就更新 <insert id="saveBatch" parameterType="java.util.List" >   MERGE INTO 表名 T   USING (  <foreach collection=

極限挑戰—C#100資料匯入SQL SERVER資料庫僅用4秒

  實際工作中有時候需要把大量資料匯入資料庫,然後用於各種程式計算,本實驗將使用5中方法完成這個過程,並詳細記錄各種方法所耗費的時間。     本實驗中所用到工具為VS2008和SQL SERVER 2000、SQL SERVER 2008,分別使用5中方法將100萬條資料匯

大規模資料生成 500資料

前言: 最近有一個作業需要 對 大規模資料 進行 效能測試 需要500萬條資料,這是一個很大的量,我們無法通過cvs檔案這種方式把資料匯入資料庫 我開始想到了一個解決方案,使用java程式,迴圈500萬次,執行更新語句,把資料插入到資料庫中。 這種方式雖然方便了操

mysql處理多表更新數據1000級別

多表 upd sql 更新數據 更新 數據 mysql bsp where 1、 表A(id,code,name,sex)表B(id,Aid,code,name,sex)B表中字段Aid為A表中的id.用一條語句將A表中code更新到B表中code中。 UPDATE A

Qt SQLite 批量插入優化SQLite默認將每條語句看成單獨的事務good

容器 執行 優化 還需要 文件的 項目 還需 qlite 關閉 使用SQLite存儲數據時發現插入速度太慢,程序跑了將近五分鐘才插入了不到三千條。上網查資料才發現,SQLite這種文件數據庫與MySql機制不一樣,每條事務都有打開和關閉文件的步驟,SQLite默認將每條語句

詳解如何用爬蟲採集視訊播放量資料以騰訊視訊為例

現代社會提到大資料大家都知道這是近幾年才形成的對於資料相關的新名詞,在1980年,著名未來學家阿爾文·托夫勒便在 《第三次浪潮》一書中,將大資料熱情地讚頌為“第三次浪潮的 華彩樂章”。在 20 世紀 80 年代我國已經有一些專家學者談到了海量資料的加工和管理,但是由於計算機技術和網路技術的限制大資料

在大資料浪潮下如何高效的獲取跨境電商銷售資料以亞馬遜為例

隨著傳統外貿渠道的疲態,跨境電商現在發展異常火爆,跨境電商未來很有可能成為主流的外貿出口模式,並且成為推動中國外貿經濟的一個重要的突破口。跨境電商主要分跨境進口和跨境出口,主流的跨境電商平臺各有特點。 亞馬遜公司作為美國最大的一家網路電子商務公司,是網路上最早開始經營電子商務的公司之一,已成為全

python爬蟲爬取今日頭條APP資料無需破解as ,cp_cp_signature引數

#!coding=utf-8 import requests import re import json import math import random import time from requests.packages.urllib3.exceptions import Insecure

查詢oracle資料庫是否有重複資料根據多個欄位判斷

根據多個欄位查詢重複資料的總條數: sql = "select count(*) from tablea a where (a.askname, a.atime) in (select askname,atime from tablea group by askname,atime having count

快速獲取json欄位內的資料減去填寫欄位的步驟

有的時候後臺很好,把一些需要的一些欄位全部封裝好的jar包,給我,那樣我就無需去寫欄位,我所要做的就是請求資料,然後根據給的jar包內的欄位set進入即可。 而有的時候沒有這樣情況,更多的是直接請求,自己寫bean或HashMap等,那樣的話有的時候欄位比較少,還好說,但是一旦欄位超多,那麼

c#在excel裡批量插入附件從檔案建立物件

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; u

Java獲取web資料Java獲取股票資料

使用Java8新特性獲取股票資料 2.獲取資料,就是解析這個data,程式碼如下 package test; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io

R聚類分析航空公司資料篩選出不同的客戶類別

效果圖如下 圖片是將3萬四千條航空公司資料用k-means演算法分成五個類,並通過ggplot2包作圖作出來的特徵屬性。 我們將通過不同的屬性值,分析出高價值使用者,低價值使用者,主力使用者,一般使用者,潛力使用者 可以分析得F,M,C自然是越高越好,C主要