最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

有一個(gè)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   自動(dòng)增量
word     【adductive#1 adducting#1 adducent#1】這一個(gè)TXT記錄要轉(zhuǎn)換為3個(gè)SQL記錄
value     =第三列-第四列;如果=0,則此條記錄略過不插入數(shù)據(jù)表

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

<?php
    $file = 'words.txt';//10W條記錄的TXT源文件
    $lines = file_get_contents($file);
    ini_set('memory_limit', '-1');//不要限制Mem大小,否則會(huì)報(bào)錯(cuò)
    $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】這一個(gè)TXT記錄要轉(zhuǎn)換為3個(gè)SQL記錄                 {
                     $nn=explode("#",$m);
                     $word=$nn[0];
                     $sql.="(\"$word\",1,$senti_value,2),";//這個(gè)地方要注意到是 word有可能包含單引號(hào)(如jack's),因此我們要用雙引號(hào)來包含word(注意轉(zhuǎn)義)                      
                 }
            }
   $i++;
        }        
    }
    //echo $i;
    $sql=substr($sql,0,-1);//去掉最后一個(gè)逗號(hào)
    //echo $sql;
    file_put_contents('20000-25000.txt', $sql);  //批量導(dǎo)入數(shù)據(jù)庫,5000條一次,大概需要40秒的樣子;一次導(dǎo)入太多max_execution_time會(huì)不夠,導(dǎo)致失敗    
?>

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

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

2,PHP操作TXT文件

file_get_contents()

file_put_contents()

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

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

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

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

相關(guān)文章

  • php 三維餅圖的實(shí)現(xiàn)代碼

    php 三維餅圖的實(shí)現(xiàn)代碼

    一直想發(fā)表點(diǎn)東西。最近剛把php4中的php_gd.dll搞定,就迫不及待的想做點(diǎn)圖形程序玩玩??吹接性S多php做餅圖的例子,看了一下都是2維的,于是就想做個(gè)3維的。
    2008-09-09
  • php實(shí)現(xiàn)數(shù)組篩選奇數(shù)和偶數(shù)示例

    php實(shí)現(xiàn)數(shù)組篩選奇數(shù)和偶數(shù)示例

    這篇文章主要介紹了php實(shí)現(xiàn)數(shù)組篩選奇數(shù)和偶數(shù)示例,需要的朋友可以參考下
    2014-04-04
  • PHP批量生成靜態(tài)HTML的簡(jiǎn)單原理和方法

    PHP批量生成靜態(tài)HTML的簡(jiǎn)單原理和方法

    PHP生成HTML的技術(shù)要比ASP的技術(shù)相對(duì)來說要簡(jiǎn)單一點(diǎn),下面簡(jiǎn)要說一下怎樣用PHP批量生成HTML技術(shù)吧
    2014-04-04
  • php多文件上傳下載示例分享

    php多文件上傳下載示例分享

    這篇文章主要介紹了php多文件上傳下載示例,需要的朋友可以參考下
    2014-02-02
  • PHP實(shí)現(xiàn)留言板功能的詳細(xì)代碼

    PHP實(shí)現(xiàn)留言板功能的詳細(xì)代碼

    這篇文章主要為大家詳細(xì)介紹了PHP實(shí)現(xiàn)留言板功能的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 基于JQuery+PHP編寫砸金蛋中獎(jiǎng)程序

    基于JQuery+PHP編寫砸金蛋中獎(jiǎng)程序

    砸金蛋被廣泛應(yīng)用于慶典活動(dòng)、商家促銷、電視娛樂等場(chǎng)合,它的趣味、懸念能迅速活躍現(xiàn)場(chǎng)氣氛,同樣,我們也可以將砸金蛋應(yīng)用到WEB網(wǎng)站上,用于開展線上活動(dòng),本文將使用jQuery+PHP講解如何實(shí)現(xiàn)一個(gè)WEB砸金蛋程序,需要的朋友一起來學(xué)習(xí)吧
    2015-09-09
  • php的hash算法介紹

    php的hash算法介紹

    PHP的Hash采用的是目前最為普遍的DJBX33A (Daniel J. Bernstein, Times 33 with Addition), 這個(gè)算法被廣泛運(yùn)用與多個(gè)軟件項(xiàng)目,Apache, Perl和Berkeley DB等。對(duì)于字符串而言這是目前所知道的最好的哈希算法,原因在于該算法的速度非???,而且分類非常好(沖突小,分布均勻)
    2014-02-02
  • thinkphp5框架實(shí)現(xiàn)數(shù)據(jù)庫讀取的數(shù)據(jù)轉(zhuǎn)換成json格式示例

    thinkphp5框架實(shí)現(xiàn)數(shù)據(jù)庫讀取的數(shù)據(jù)轉(zhuǎn)換成json格式示例

    這篇文章主要介紹了thinkphp5框架實(shí)現(xiàn)數(shù)據(jù)庫讀取的數(shù)據(jù)轉(zhuǎn)換成json格式,涉及thinkPHP5數(shù)據(jù)庫讀取數(shù)據(jù)與json格式轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10
  • php實(shí)現(xiàn)的任意進(jìn)制互轉(zhuǎn)類分享

    php實(shí)現(xiàn)的任意進(jìn)制互轉(zhuǎn)類分享

    這篇文章主要介紹了php實(shí)現(xiàn)的任意進(jìn)制互轉(zhuǎn)類分享,本文直接給出了實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-07-07
  • Yii框架 session 數(shù)據(jù)庫存儲(chǔ)操作方法示例

    Yii框架 session 數(shù)據(jù)庫存儲(chǔ)操作方法示例

    這篇文章主要介紹了Yii框架 session 數(shù)據(jù)庫存儲(chǔ)操作方法,結(jié)合實(shí)例形式分析了使用Yii框架session組件配置與數(shù)據(jù)庫存儲(chǔ)相關(guān)操作技巧,需要的朋友可以參考下
    2019-11-11

最新評(píng)論

灌云县| 宜黄县| 涪陵区| 惠水县| 平乐县| 滨州市| 正蓝旗| 永丰县| 桃源县| 利津县| 铜陵市| 罗江县| 义马市| 阳高县| 塔城市| 达孜县| 赤壁市| 博客| 泌阳县| 田东县| 新民市| 宜君县| 墨江| 大兴区| 光山县| 印江| 商洛市| 交城县| 烟台市| 井陉县| 新民市| 浦东新区| 聂拉木县| 枞阳县| 沙洋县| 鹤壁市| 尼玛县| 富源县| 夏邑县| 绥宁县| 徐闻县|