校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > MySQL循環插入千萬級數據

MySQL循環插入千萬級數據

熱門標簽:石家莊400電話辦理公司 廣東400企業電話申請流程 地圖標注客戶付款 新鄉智能外呼系統好處 許昌外呼增值業務線路 咸陽防封電銷卡 臨沂做地圖標注 宜賓全自動外呼系統廠家 申請400電話電話價格

1、創建測試表

CREATE TABLE `mysql_genarate` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `uuid` varchar(50) DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5999001 DEFAULT CHARSET=utf8;

2、創建一個循環插入的存儲過程

CREATE DEFINER=`root`@`localhost` PROCEDURE `test_two1`( )
  BEGIN 
  DECLARE i INT DEFAULT 0;
  WHILE i  3000 DO
    INSERT INTO mysql_genarate ( uuid ) VALUES( UUID( ) );
    SET i = i + 1;
  END WHILE;
END

調用測試call test_two1(), 測試10000條數據耗時幾分鐘,如果是千萬級數據,這個速度將無法忍受。

3、優化存儲過程

使用批量插入的sql語句

CREATE DEFINER=`root`@`localhost` PROCEDURE `insertPro`( IN sum INT )
  BEGIN
  DECLARE count INT DEFAULT 0;
  DECLARE i INT DEFAULT 0;
  SET @exesql = concat( "insert into mysql_genarate(uuid) values" );
  SET @exedata = "";
  SET count = 0;
  SET i = 0;
  WHILE count  sum DO
    SET @exedata = concat( @exedata, ",(UUID())" );
    SET count = count + 1;
    SET i = i + 1;
    IF i % 1000 = 0 THEN
      SET @exedata = SUBSTRING( @exedata, 2 );
      SET @exesql = concat( "insert into mysql_genarate(uuid) values ", @exedata );
      PREPARE stmt FROM @exesql;
      EXECUTE stmt;
      DEALLOCATE PREPARE stmt;
      SET @exedata = "";
    END IF;
  END WHILE;
  IF length( @exedata ) > 0 THEN
    SET @exedata = SUBSTRING( @exedata, 2 );
    SET @exesql = concat( "insert into mysql_genarate(uuid) values ", @exedata );
    PREPARE stmt FROM @exesql;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;
  END IF;
END

調用 call insertPro(10000) ,耗時零點幾秒,這個速度可以接受。

以上就是MySQL循環插入千萬級數據的詳細內容,更多關于MySQL循環插入的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • .Net Core導入千萬級數據至Mysql的步驟
  • .Net Core導入千萬級數據至Mysql數據庫的實現方法
  • 詳解MySQL數據庫千萬級數據查詢和存儲
  • mysql千萬級數據量根據索引優化查詢速度的實現
  • MySQL 千萬級數據量如何快速分頁
  • mysql千萬級數據分頁查詢性能優化
  • mysql千萬級數據大表該如何優化?
  • MySQL單表千萬級數據處理的思路分享

標簽:合肥 貴州 鎮江 阜新 鷹潭 日照 北京 臺灣

巨人網絡通訊聲明:本文標題《MySQL循環插入千萬級數據》,本文關鍵詞  MySQL,循環,插入,千萬,級,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL循環插入千萬級數據》相關的同類信息!
  • 本頁收集關于MySQL循環插入千萬級數據的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 宁陵县| 辉南县| 南靖县| 库尔勒市| 库伦旗| 吴堡县| 潞城市| 如东县| 古浪县| 磴口县| 平南县| 郯城县| 仁寿县| 凤翔县| 安阳县| 米易县| 浑源县| 荆门市| 东安县| 溆浦县| 金溪县| 石城县| 蒙山县| 宁乡县| 邳州市| 明星| 浪卡子县| 昂仁县| 子洲县| 沙洋县| 翁源县| 德昌县| 锦州市| 崇阳县| 共和县| 南江县| 大关县| 习水县| 新昌县| 图们市| 嘉善县|