亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

基于PHP讀取TXT文件向數(shù)據(jù)庫導(dǎo)入海量數(shù)據(jù)的方法

 更新時間:2013年04月23日 17:09:38   作者:  
本篇文章小編為大家介紹,基于PHP讀取TXT文件向數(shù)據(jù)庫導(dǎo)入海量數(shù)據(jù)的方法。需要的朋友參考下

有一個TXT文件,包含了10萬條記錄,格式如下:

列1       列2       列3   列4   列5
a    00003131    0    0    adductive#1 adducting#1 adducent#1
a    00003356    0    0    nascent#1
a    00003553    0    0    emerging#2 emergent#2
a    00003700    0.25    0    dissilient#1

……………………后面有10萬條………………

需求是要導(dǎo)入數(shù)據(jù)庫中,數(shù)據(jù)表的結(jié)構(gòu)為

word_id   自動增量
word     【adductive#1 adducting#1 adducent#1】這一個TXT記錄要轉(zhuǎn)換為3個SQL記錄
value     =第三列-第四列;如果=0,則此條記錄略過不插入數(shù)據(jù)表

復(fù)制代碼 代碼如下:

<?php
    $file = 'words.txt';//10W條記錄的TXT源文件
    $lines = file_get_contents($file);
    ini_set('memory_limit', '-1');//不要限制Mem大小,否則會報錯
    $line=explode("\n",$lines);
    $i=0;
    $sql="INSERT INTO words_sentiment (word,senti_type,senti_value,word_type) VALUES ";

    foreach($line as $key =>$li)
    {
        $arr=explode(" ",$li);
        $senti_value=$arr[2]-$arr[3];
        if($senti_value!=0)
        {
            if($i>=20000&&$i<25000)//分批次導(dǎo)入,避免失敗
            {
             $mm=explode(" ",$arr[4]);               
                 foreach($mm as $m)   //【adductive#1 adducting#1 adducent#1】這一個TXT記錄要轉(zhuǎn)換為3個SQL記錄                 {
                     $nn=explode("#",$m);
                     $word=$nn[0];
                     $sql.="(\"$word\",1,$senti_value,2),";//這個地方要注意到是 word有可能包含單引號(如jack's),因此我們要用雙引號來包含word(注意轉(zhuǎn)義)                      
                 }
            }
   $i++;
        }        
    }
    //echo $i;
    $sql=substr($sql,0,-1);//去掉最后一個逗號
    //echo $sql;
    file_put_contents('20000-25000.txt', $sql);  //批量導(dǎo)入數(shù)據(jù)庫,5000條一次,大概需要40秒的樣子;一次導(dǎo)入太多max_execution_time會不夠,導(dǎo)致失敗    
?>

1,海量數(shù)據(jù)導(dǎo)入到時候,要注意PHP的一些限制,可以臨時調(diào)整一下,否則會報錯

Allowed memory size of 33554432 bytes exhausted (tried to allocate 16 bytes)

2,PHP操作TXT文件

file_get_contents()

file_put_contents()

3,海量導(dǎo)入的時候,最好分批次導(dǎo)入,失敗的幾率小一些

4,海量導(dǎo)入之前,腳本一定要多次測試無誤再使用,比如用100條數(shù)據(jù)來測試

5,導(dǎo)入之后,如果PHP的mem_limit還是不夠的話,程序仍然跑不起來

(建議用修改php.ini的方式來提高mem_limit,而不是用臨時的語句)

相關(guān)文章

  • PHP實現(xiàn)文件上傳與下載實例與總結(jié)

    PHP實現(xiàn)文件上傳與下載實例與總結(jié)

    這篇文章主要介紹了PHP實現(xiàn)文件上傳與下載實例與總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • php版微信開發(fā)Token驗證失敗或請求URL超時問題的解決方法

    php版微信開發(fā)Token驗證失敗或請求URL超時問題的解決方法

    這篇文章主要介紹了php版微信開發(fā)Token驗證失敗或請求URL超時問題的解決方法,簡單分析了Token驗證失敗及請求URL超時的原因及相關(guān)解決方法,需要的朋友可以參考下
    2016-09-09
  • 分享5個非常有用的Laravel Blade指令

    分享5個非常有用的Laravel Blade指令

    這篇文章主要給大家分享介紹了5個非常有用的Laravel Blade指令,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • thinkPHP框架實現(xiàn)圖像裁剪、縮放、加水印的方法

    thinkPHP框架實現(xiàn)圖像裁剪、縮放、加水印的方法

    這篇文章主要介紹了thinkPHP框架實現(xiàn)圖像裁剪、縮放、加水印的方法,結(jié)合實例形式給出了thinkPHP針對圖片進行裁剪、縮放及加水印的自定義函數(shù),具有一定參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • Yii實現(xiàn)復(fù)選框批量操作實例代碼

    Yii實現(xiàn)復(fù)選框批量操作實例代碼

    本篇文章主要介紹了Yii實現(xiàn)復(fù)選框批量操作實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • php使用GeoIP庫實例

    php使用GeoIP庫實例

    這篇文章主要介紹了php使用GeoIP庫實例,本文給出了細分到國家、細分到城市的代碼實例,需要的朋友可以參考下
    2014-06-06
  • php + WebUploader實現(xiàn)圖片批量上傳功能

    php + WebUploader實現(xiàn)圖片批量上傳功能

    這篇文章主要給大家介紹了利用php + WebUploader實現(xiàn)圖片批量上傳功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用PHP具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • PHP 二維數(shù)組和三維數(shù)組的過濾

    PHP 二維數(shù)組和三維數(shù)組的過濾

    本文給大家介紹PHP 二維數(shù)組和三維數(shù)組的過濾,涉及到php三維數(shù)組變二維數(shù)組的相關(guān)知識,本文介紹的非常詳細,具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧
    2016-03-03
  • Laravel框架運行出錯提示RuntimeException No application encryption key has been specified.解決方法

    Laravel框架運行出錯提示RuntimeException No application encryption ke

    這篇文章主要介紹了Laravel框架運行出錯提示RuntimeException No application encryption key has been specified.解決方法,涉及Laravel框架相關(guān)配置、設(shè)置與運行操作技巧,需要的朋友可以參考下
    2019-04-04
  • thinkphp框架使用JWTtoken的方法詳解

    thinkphp框架使用JWTtoken的方法詳解

    這篇文章主要介紹了thinkphp框架使用JWTtoken的方法,結(jié)合實例形式分析了JWTtoken的功能、原理及thinkPHP使用JWTtoken實現(xiàn)簽名驗證的相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10

最新評論