你是cli模式還是cgi模式?cli模式不用設(shè)默認(rèn)就是無時(shí)間限制,cgi默認(rèn)是有30秒超時(shí)限制。
為仲巴等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及仲巴網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、仲巴網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
你可以先看看每次中斷是固定時(shí)長,還是固定次數(shù);也可以多打日志,每次循環(huán)都輸出些參考參數(shù)如循環(huán)條件、內(nèi)存使用等信息,再分析哪些可能導(dǎo)致程序中斷的原因。
你用網(wǎng)頁的方式,讓人點(diǎn)擊,服務(wù)器采集,簡直是弱爆了。每個(gè)人的點(diǎn)擊循環(huán)1000次,來個(gè)100人同時(shí)點(diǎn),你要用的是普通的虛擬機(jī)就不行了。
最好是換種方式實(shí)現(xiàn),不要通過網(wǎng)頁進(jìn)行采集。
可以非常簡單的在數(shù)據(jù)庫的表,創(chuàng)建一個(gè)采集隊(duì)列,后臺執(zhí)行一個(gè)crontab的計(jì)劃任務(wù),去完成隊(duì)列里的采集任務(wù)。
?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());//連接你的數(shù)據(jù)庫
mysql_select_db("mydb");//選擇你的數(shù)據(jù)庫
$result = mysql_query("SELECT `name` FROM data_boy WHERE `id`='2' LIMIT 0, 60");//執(zhí)行SQL查詢語句,搜索出60條數(shù)據(jù)
while ($row = mysql_fetch_array($result)) {
echo "姓名:".$row[name]."br";
/*補(bǔ)充一句,此處也可以是:
echo "姓名:".$row[0]."br";此處"mysql_fetch_array"默認(rèn)返回的既有 關(guān)聯(lián)數(shù)組(字段作為鍵名),也有數(shù)字索引數(shù)組*/
}
mysql_free_result($result);//釋放結(jié)果
1W條數(shù)據(jù)量也不是特別大,那就直接讀取,然后在foreach入庫就可以了
如果數(shù)據(jù)量非常大的時(shí)候,那就分段讀取,然后入庫~
考慮到php超時(shí),那就網(wǎng)頁端打開,第一部分執(zhí)行完,刷新頁面,開始執(zhí)行第二部分,依次進(jìn)行...
當(dāng)然,直接在命令行下執(zhí)行也可以~
分享標(biāo)題:php處理大量數(shù)據(jù)循環(huán) php循環(huán)讀取數(shù)據(jù)
網(wǎng)站鏈接:http://chinadenli.net/article18/ddeidgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、商城網(wǎng)站、移動網(wǎng)站建設(shè)、定制網(wǎng)站、Google、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)