国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql中百萬級數據插入速度測試

2024-07-24 12:38:58
字體:
來源:轉載
供稿:網友

100W的數據對于很多朋友來說算小菜了,但今天我就想到創建一個大量數據的測試環境,于是找了一下怎么插入100W條數據,我用的是20個字段,對比一下,首先是用 mysql 的存儲過程弄的,代碼如下:

  1. mysql>delimiter $ 
  2. mysql>SET AUTOCOMMIT = 0$$ 
  3.  
  4. mysql> create  procedure test()  
  5. begin 
  6. declare i decimal (10)  default 0 ; 
  7. dd:loop         
  8. INSERT INTO `million` (`categ_id`, `categ_fid`, `SortPath`, `address`, `p_identifier`, `pro_specification`, `name`, `add_date`, `picture_url`, `thumb_url`, `is_display_front`, `create_html_time`, `hit`, `buy_sum`, `athor`, `templete _style`, `is_hot`, `is_new`, `is_best`) VALUES 
  9. (268, 2, '0,262,268,', 0, '2342''423423''123123''2012-01-09 09:55:43''upload/product/20111205153432_53211.jpg''upload/product/thumb_20111205153432_53211.jpg', 1, 0, 0, 0, 'admin''0', 0, 0, 0); 
  10.    commit;  --Vevb.com 
  11.    set i = i+1; 
  12.    if i= 1000000 then leave dd; 
  13.     end if; 
  14.    end loop dd ; 
  15. end;$ 
  16.  
  17. mysql>delimiter ; 
  18.  
  19. mysql> call test; 

結果我們看了用了58分鐘,這也太費時差了吧.

  1. mysql>  call test;  
  2. Query OK, 0 rows affected (58 min 30.83 sec) 

非常耗時,于是我又找了一個方法,先用PHP代碼生成數據,再導入,代碼如下:

  1. <?php 
  2. $t=mktime(); 
  3. set_time_limit(1000); 
  4. $myFile="e:/insert.sql"
  5. $fhandler=fopen($myFile,'wb'); 
  6. if($fhandler){ 
  7.  
  8.     $sql="268t2t'0,262,268,'t0t '2342't'423423't'123123't'23423423't'2012-01-09 09:55:43't'upload/product/20111205153432_53211.jpg't'upload/product/thumb_20111205153432_53211.jpg'tNULLtNULLt38t'件't''t123t123t0"
  9.     $i=0; 
  10.     while($i<1000000)//1,000,000 
  11.     { 
  12.         $i++; 
  13.         fwrite($fhandler,$sql."rn"); 
  14.     } 
  15.     echo"寫入成功,耗時:",mktime()-$t
  16. ?> 

然后再導入,代碼如下:

  1. LOAD DATA local INFILE 'e:/insert.sql' INTO TABLE  tenmillion(`categ_id`, `categ_fid`, `SortPath`, `address`, `p_identifier`, `pro_specification`, `name`, `description`, `add_date`, `picture_url`, `thumb_url`, `shop_url`, `shop_thumb_url`, `brand_id`, `unit`, `square_meters_unit`, `market_price`, `true_price`, `square_meters_price`);  

結果不到1分鐘,100萬的數據就快速的導入了,注意字段不再以逗號分割,以t分割,條記錄以rn分割,結果我插入10次數據,100W平均只要1分鐘搞定.

總結:在大數據量處理時我們最好利用第三方插件一實現數據備份或直接在服務器上進行備份,用mysql自帶的工具有時確實不理想.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 元氏县| 忻城县| 华池县| 揭西县| 环江| 治多县| 隆昌县| 萝北县| 宿迁市| 东辽县| 吴旗县| 黔西县| 长阳| 剑阁县| 高唐县| 乐业县| 涡阳县| 庄浪县| 霍山县| 米林县| 准格尔旗| 肇东市| 南雄市| 新晃| 周至县| 南宁市| 砀山县| 栖霞市| 望都县| 安泽县| 酒泉市| 云梦县| 林口县| 轮台县| 宜君县| 平凉市| 河西区| 法库县| 闸北区| 蒲城县| 辉县市|