PHP大批量插入數據庫的方法
導語:在本地模擬數據時,需要插入大量的數據並保存到數據庫。對每條數據單獨執行插入操作是保險的.作法,但是存在一個效率低的問題。如果使用批量插入則可以節省相當多的時間。下面是PHP大批量插入數據庫的方法,希望對你有所幫助:
第一種方法:使用 into 插入,代碼如下:
$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秒 ,代碼如下:
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
$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代碼
導語:PHP是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。下面我們來看看如何寫出優雅的PHP代碼,希望對大家有所幫助。寫出優秀的程序代碼是一門藝術,要想如此,就必須在一開始就養成良好的編程習慣。良好的編程...
-
PHP開發環境安裝的方法
PHP是一種HTML內嵌式的語言,是一種在服務器端執行的嵌入HTML文檔的腳本語言,語言的風格有類似於C語言,被廣泛地運用。以下是小編為大家搜索整理的PHP開發環境安裝的方法,歡迎閲讀!更多精彩內容請及時關注我們應屆畢業生考試網!一、PHP簡介PHP於1994年由RasmusLerdo...
-
PHP 數組和字符串互相轉換實現方法
PHP數組和字符串互相轉換是比較常用的,下面給大家介紹PHP數組和字符串互相轉換實現方法,一起來了解一下吧!PHP數組和字符串互相轉換實現方法PHP中由於數組和字符串這兩種變量類型是如此常用,以至於PHP具有兩個函數,可以在字符串和數組之間互相進行轉換代碼如下:$ar...
-
學習php分頁代碼實例
學習PHP,一定會遇到操作MYSQL數據庫,而且會對數據庫裏的數據做分頁顯示出來的問題,下面寫一個小例子學習一下PHP分頁的方法。PHP分頁有很多方法,今天我們就用一個小例子演示一下這個功能。複製代碼代碼如下:$result="<Pclass=\"page-num\"><ulclass=\"fn-clear...