PHP大批量插入數據庫的3種方法
PHP如何實現大批量插入數據庫呢?想要了解的朋友,本文特意為大家收集整理了PHP大批量插入數據庫的3種方法,希望大家喜歡!
第一種方法:使用 into 插入,代碼如下:
1
2
3
4
5
6
7
$params = array(‘value'=>'50′);
set_time_limit(0);
echo date(“H:i:s”);
for($i=0;$i<2000000;$i++){
$connect_mysql->($params);
};
echo date(“H:i:s”);
最後顯示為:23:25:05 01:32:05 也就是花了2個小時多!
第二種方法:使用事務提交,批量插入數據庫(每隔10W條提交下)最後顯示消耗的時間為:22:56:13 23:04:00 ,一共8分13秒 ,代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
echo date(“H:i:s”);
$connect_mysql->query(‘BEGIN');
$params = array(‘value'=>'50′);
for($i=0;$i<2000000;$i++){
$connect_mysql->($params);
if($i%100000==0){
$connect_mysql->query(‘COMMIT');
$connect_mysql->query(‘BEGIN');
}
}
$connect_mysql->query(‘COMMIT');
echo date(“H:i:s”);
第三種方法:使用優化SQL語句:將SQL語句進行拼接,使用 into table () values (),(),(),()然後再一次性插入,如果字符串太長,
則需要配置下MYSQL,在mysql 命令行中運行 :set global max_allowed_packet = 2*1024*1024*10;消耗時間為:11:24:06 11:25:06;
插入200W條測試數據僅僅用了1分鐘!代碼如下:
1
2
3
4
5
6
$sql= “ into twenty_million (value) values”;
for($i=0;$i<2000000;$i++){
$sql.=”('50′),”;
};
$sql = substr($sql,0,strlen($sql)-1);
$connect_mysql->query($sql);
最後總結下,在插入大批量數據時,第一種方法無疑是最差勁的,而第二種方法在實際應用中就比較廣泛,第三種方法在插入測試數據或者其他低要求時比較合適,速度確實快。
-
PHP中用CURL偽造IP來源的方法
PHP中用CURL偽造IP來源的.方法,有需要的朋友可以看看。就跟隨本站小編一起去了解下吧,想了解更多相關信息請持續關注我們應屆畢業生考試網!1.文件複製代碼代碼如下:<?php$ch=curl_init();curl_setopt($ch,CURLOPT_URL,"http://localhost/");curl_setopt($ch,CURL...
-
PHP與UTF-8之間的最佳實踐
《PHP中的字符串、編碼、UTF-8》一文中描述了一些列的基礎知識,比較枯燥,現在來説點有用的——PHP字符串處理的最佳實踐,本文是PHP、字符串、編碼、UTF-8相關知識的第二部分。先説結論——在PHP中的各個方面使用UTF-8編碼。希望對大家學習PHP...
-
PHP基礎語言方面的筆試題和答案
伴隨着Facebook的成功,PHP這門解釋型的Web開發語言由於其清晰的定位繼續受到非常多的關注,當然對於中小企業和個人來説,Linux+Apache/Nginx+PHP+MySQL幾乎不用考慮服務器環境方面的成本;而對於開發者來説,在中小型項目開發中PHP也非常容易上手。以下是本站小編精心...
-
PHP工程師應該掌握的知識結構
作為一名合格的PHP工程師的知識結構是怎樣的?下面是本站小編精心為大家整理的PHP工程師應該掌握的知識結構,希望對大家有幫助,更多內容請關注應屆畢業生網!一x方面Linux常用命令1.文件處理命令2.權限管理命令3.幫助命令4.文件搜索命令5.壓縮解壓命令6.命令使用技...