欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP大批量插入數(shù)據(jù)庫的3種方法和速度對比

 更新時間:2014年07月08日 08:56:23   投稿:junjie  
這篇文章主要介紹了PHP大批量插入數(shù)據(jù)庫的3種方法和速度對比,3種方法分別使用普通insert語句、insert into語句和事務提交,需要的朋友可以參考下

第一種方法:使用insert into 插入,代碼如下:

$params = array(‘value'=>'50′);
set_time_limit(0);
echo date(“H:i:s”);
for($i=0;$i<2000000;$i++){
$connect_mysql->insert($params);
};
echo date(“H:i:s”);

最后顯示為:23:25:05 01:32:05 也就是花了2個小時多!

第二種方法:使用事務提交,批量插入數(shù)據(jù)庫(每隔10W條提交下)最后顯示消耗的時間為:22:56:13 23:04:00 ,一共8分13秒  ,代碼如下:

echo date(“H:i:s”);
$connect_mysql->query(‘BEGIN');
$params = array(‘value'=>'50′);
for($i=0;$i<2000000;$i++){
$connect_mysql->insert($params);
if($i%100000==0){
$connect_mysql->query(‘COMMIT');
$connect_mysql->query(‘BEGIN');
}
}
$connect_mysql->query(‘COMMIT');
echo date(“H:i:s”);

第三種方法:使用優(yōu)化SQL語句:將SQL語句進行拼接,使用 insert into table () values  (),(),(),()然后再一次性插入,如果字符串太長,

則需要配置下MYSQL,在mysql 命令行中運行 :set global max_allowed_packet =  2*1024*1024*10;消耗時間為:11:24:06 11:25:06;

插入200W條測試數(shù)據(jù)僅僅用了1分鐘!代碼如下:

$sql= “insert into twenty_million (value) values”;
for($i=0;$i<2000000;$i++){
$sql.=”('50′),”;
};
$sql = substr($sql,0,strlen($sql)-1);
$connect_mysql->query($sql);

最后總結下,在插入大批量數(shù)據(jù)時,第一種方法無疑是最差勁的,而第二種方法在實際應用中就比較廣泛,第三種方法在插入測試數(shù)據(jù)或者其他低要求時比較合適,速度確實快。

相關文章

  • Python中使用django form表單驗證的方法

    Python中使用django form表單驗證的方法

    這篇文章主要介紹了Python中使用django form表單驗證的方法,需要的朋友可以參考下
    2017-01-01
  • 淺談php中的訪問修飾符private、protected、public的作用范圍

    淺談php中的訪問修飾符private、protected、public的作用范圍

    下面小編就為大家?guī)硪黄獪\談php中的訪問修飾符private、protected、public的作用范圍。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • PHP實現(xiàn)linux命令tail -f

    PHP實現(xiàn)linux命令tail -f

    tail 命令從指定點開始將文件寫到標準輸出.使用tail命令的-f選項可以方便的查閱正在改變的日志文件,tail -f filename會把filename里最尾部的內容顯示在屏幕上,并且不但刷新,使你看到最新的文件內容.接下來通過本文給大家介紹PHP實現(xiàn)linux命令tail -f,需要的朋友參考下
    2016-02-02
  • 發(fā)款php蜘蛛統(tǒng)計插件只要有mysql就可用

    發(fā)款php蜘蛛統(tǒng)計插件只要有mysql就可用

    有時候我們?yōu)榱丝匆幌轮┲肱佬械那闆r,不得不對日志進行大量的分析,由此想做一款插件可以記錄蜘蛛的情況。在第一次做的時候,只是記錄下蜘蛛的爬行次數(shù),不大好分析。
    2010-10-10
  • Yii使用ajax驗證顯示錯誤messagebox的解決方法

    Yii使用ajax驗證顯示錯誤messagebox的解決方法

    這篇文章主要介紹了Yii使用ajax驗證顯示錯誤messagebox的解決方法,可以自行設置Ajax提示信息的方式,是非常實用的技巧,需要的朋友可以參考下
    2014-12-12
  • PHP時間戳格式全部匯總 (獲取時間、時間戳)

    PHP時間戳格式全部匯總 (獲取時間、時間戳)

    下面小編就為大家?guī)硪黄狿HP時間戳格式全部匯總 (獲取時間、時間戳)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • Zend Framework實現(xiàn)多文件上傳功能實例

    Zend Framework實現(xiàn)多文件上傳功能實例

    這篇文章主要介紹了Zend Framework實現(xiàn)多文件上傳功能的方法,較為詳細的分析說明了Zend Framework實現(xiàn)多文件上傳的具體步驟與相關實現(xiàn)技巧,需要的朋友可以參考下
    2016-03-03
  • PHP-FPM和Nginx的通信機制詳解

    PHP-FPM和Nginx的通信機制詳解

    這篇文章主要給大家介紹了關于PHP-FPM和Nginx通信機制的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-02-02
  • 通過curl模擬post和get方式提交的表單類

    通過curl模擬post和get方式提交的表單類

    寫了個簡單的腳本通過curl的方式模擬表單提交??梢酝ㄟ^數(shù)組和字符串兩種方式提交數(shù)據(jù),需要的朋友可以參考下
    2014-04-04
  • PHP實現(xiàn)單條sql執(zhí)行多個數(shù)據(jù)的insert語句方法

    PHP實現(xiàn)單條sql執(zhí)行多個數(shù)據(jù)的insert語句方法

    今天小編就為大家分享一篇PHP實現(xiàn)單條sql執(zhí)行多個數(shù)據(jù)的insert語句方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10

最新評論