php+Mysql 大數據導入怎樣提高效率
優化SQL插入語句;
創新互聯建站專注為客戶提供全方位的互聯網綜合服務,包含不限于成都網站設計、網站制作、外貿營銷網站建設、寧陽網絡推廣、小程序制作、寧陽網絡營銷、寧陽企業策劃、寧陽品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創新互聯建站為所有大學生創業者提供寧陽建站搭建服務,24小時服務熱線:028-86922220,官方網址:vcdvsql.cn
比如循環一條一條插入,改成鏈接多個值進行插入。
將:
foreach($re as $it){
$sql="insert into table (id,name) values(".$it['id'].","."$it['name'].")";
mysql_query($sql);
}
改為:
$sql="insert into table (id,name) values";
foreach($re as $it){
$str= "'".$it['id']."','".$it['name']."'";
}
$sql .= "(".$str."),";
$sql2 = substr($sql,0,-1);
mysql_query($sql);
打開mysql的配置文件,my.ini文件,并找到:max_allowed_packet項;
將值修改大一點,具體根據自己需要修改。比如這里修改為:1G。
重啟mysql服務;
5
如果運行頁面提示內存溢出,可將值設大一點。
Allowed memory size of 134217728 bytes exhausted (tried to allocate 132907287 bytes)
步驟閱讀
6
這樣,面對千萬數據導入的時候,比原來那種方法至少快好多倍。
php 怎么解決 大數據量 插入數據庫
ini_set('max_execution_time','0');
$pdo
=
new
PDO("mysql:host=localhost;dbname=test","root","123456");
$sql
=
"insert
into
test(name,age,state,created_time)
values";
for($i=0;
$i100000;
$i++){
$sql
.="('zhangsan',21,1,'2015-09-17')";
}
$sql
=
substr($sql,0,strlen($sql)-1);
var_dump($sql);
if($pdo
-
exec($sql)){
echo
"插入成功!";
echo
$pdo
-
lastinsertid();
}
試試吧。10萬條1分鐘多,我覺得還行
php 怎么解決 大數據量 插入數據庫(1次幾千條數據)
如果是用mysql數據庫的話,一條語句可以插入幾千條語句。類似以下語句:
insert into table_name (field1,field2) values (1,2),(2,3),(3,5),(5,6)
請查看mysql手冊。
其他數據庫請查閱相應手冊。
分享題目:php大數據插入 php寫入數據到數據庫
網址分享:http://vcdvsql.cn/article36/ddopesg.html
成都網站建設公司_創新互聯,為您提供網站策劃、云服務器、網頁設計公司、電子商務、全網營銷推廣、App設計
廣告
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創新互聯