最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL循環(huán)插入千萬級數(shù)據(jù)

 更新時間:2020年09月16日 10:06:34   作者:Mr.Yong  
這篇文章主要介紹了MySQL如何實現(xiàn)循環(huán)插入千萬級數(shù)據(jù),幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下

1、創(chuàng)建測試表

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、創(chuàng)建一個循環(huán)插入的存儲過程

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

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

3、優(yōu)化存儲過程

使用批量插入的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

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

以上就是MySQL循環(huán)插入千萬級數(shù)據(jù)的詳細(xì)內(nèi)容,更多關(guān)于MySQL循環(huán)插入的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • mysql中的sql_mode模式實例詳解

    mysql中的sql_mode模式實例詳解

    這篇文章主要介紹了mysql中的sql_mode模式,結(jié)合實例形式詳細(xì)分析了mysql sql_mode模式相關(guān)原理、用法及操作注意事項,需要的朋友可以參考下
    2020-01-01
  • MySQL數(shù)據(jù)庫刪除數(shù)據(jù)自增ID不連續(xù)的實現(xiàn)示例

    MySQL數(shù)據(jù)庫刪除數(shù)據(jù)自增ID不連續(xù)的實現(xiàn)示例

    本文介紹了MySQL數(shù)據(jù)庫刪除數(shù)據(jù)后自增ID不連續(xù)的問題,文中通過2種方法解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • MySql如何按照日期進行分組統(tǒng)計

    MySql如何按照日期進行分組統(tǒng)計

    這篇文章主要介紹了MySql如何按照日期進行分組統(tǒng)計問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • mysql多次調(diào)用存儲過程的問題

    mysql多次調(diào)用存儲過程的問題

    這個問題也困擾了我很長時間,準(zhǔn)確的說正是因為他的存儲過程無法在同一連接中2次或者多次執(zhí)行,我大幅修該了程序架構(gòu),全部題換成了sql,但是畢竟sql無法執(zhí)行有相當(dāng)邏輯的代碼,最總讓我從新測試以求尋找解決之道。
    2011-05-05
  • Windows中MySQL數(shù)據(jù)庫下載以及安裝教程(最最新版)

    Windows中MySQL數(shù)據(jù)庫下載以及安裝教程(最最新版)

    這篇文章主要給大家介紹了關(guān)于Windows中MySQL數(shù)據(jù)庫下載以及安裝的相關(guān)資料,很多朋友剛開始接觸mysql數(shù)據(jù)庫服務(wù)器,對安裝使用教程不太明白,這里給大家總結(jié)下,需要的朋友可以參考下
    2023-09-09
  • 用Eclipse連接MySQL數(shù)據(jù)庫的步驟

    用Eclipse連接MySQL數(shù)據(jù)庫的步驟

    這篇文章主要介紹了如何用Eclipse連接MySQL數(shù)據(jù)庫,需要的朋友可以參考下
    2015-08-08
  • MySQL Administrator 登錄報錯的解決方法

    MySQL Administrator 登錄報錯的解決方法

    使用MySQL Administrator 登錄,報錯: Either the server service or the configuration file could not be found.Startup variable and service section are there for disabled.
    2010-12-12
  • 最新評論

    明光市| 应用必备| 香格里拉县| 乌兰浩特市| 浑源县| 含山县| 南城县| 莲花县| 合阳县| 合阳县| 南通市| 松潘县| 罗城| 波密县| 磴口县| 商河县| 银川市| 马龙县| 吉林省| 眉山市| 宽甸| 婺源县| 城口县| 浦县| 洪洞县| 益阳市| 二手房| 阿克苏市| 临桂县| 嘉义县| 沿河| 杭锦旗| 龙江县| 隆化县| 武威市| 宝坻区| 平昌县| 古蔺县| 德清县| 舟曲县| 南通市|