数码资讯
基于PHP的海量数据从TXT文件导入数据库的方法
有一个txt文件,其中包含10万条记录,如下所示: 第1栏2栏3栏4栏5 0000313100 #并拢内收1 # 1 #内收1 0000335600新生# 1 0000355300新兴# 2紧急# 2 37000.250爆裂# 1 后面有10万个… 需求被导入到数据库中,数据表的结构是 word_i
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
有一个txt文件,其中包含10万条记录,如下所示:
第1栏2栏3栏4栏5
0000313100 #并拢内收1 # 1 #内收1
0000335600新生# 1
0000355300新兴# 2紧急# 2
37000.250爆裂# 1
后面有10万个…
需求被导入到数据库中,数据表的结构是
word_id自动增量
字{内收#并拢内收1 # 1 # 1 }这一个TXT记录转换为SQL记录3
值=第三列-第四列;如果= 0,此记录在不插入数据表的情况下跳过。
复制代码代码如下所示:
< PHP
文件大小= 'words .txt;txt源文件记录的 / / 10W吧
$线= file_get_contents(文件);
ini_set('memory_limit ',' 1 '); / /不限制内存的大小,否则会出错
行=爆炸(
$ I = 0;
为SQL =插入words_sentiment(Word,senti_type,senti_value,word_type)价值;
foreach(美元美元美元关键= >行李)
{
$ ARR =爆炸(
senti_value美元= $ - $ ARR ARR { 2 } { 3 };
如果(senti_value美元!= 0)
{
如果($ = 20000 $ i < 25000)批导入,以避免失败
{
$ = =爆炸(
foreach(百万美元至M){ 1 } #并拢内收# 1 / /内收# 1本TXT记录被转换成3个{ SQL记录
$ NN =爆炸(#
$ Word = $ NN { 0 };
$
}
}
美元+;
}
}
回声$ i;
为SQL = substr($ SQL,0,1); / /删除最后一个逗号
;
file_put_contents('20000-25000 .txt,$ SQL); / /批量导入数据库,5000的时间,约40秒为一路;太多的max_execution_time不会导致失败。
>
1,当导入海量数据时,要注意PHP的一些局限性,可以暂时调整,否则会出错。
允许的内存大小为33554432字节耗尽(试图分配16字节)
2,PHP运行txt文件。
file_get_contents()
file_put_contents()
3,当批量引进时,最好的批次被引入,失败的概率很小。
4,在大规模导入之前,必须反复测试脚本,例如使用100个数据进行测试。
5、引进后,如果PHP的mem_limit是不够的,程序不能运行。
(推荐使用改性的提高mem_limit而不是临时的语句)
第1栏2栏3栏4栏5
0000313100 #并拢内收1 # 1 #内收1
0000335600新生# 1
0000355300新兴# 2紧急# 2
37000.250爆裂# 1
后面有10万个…
需求被导入到数据库中,数据表的结构是
word_id自动增量
字{内收#并拢内收1 # 1 # 1 }这一个TXT记录转换为SQL记录3
值=第三列-第四列;如果= 0,此记录在不插入数据表的情况下跳过。
复制代码代码如下所示:
< PHP
文件大小= 'words .txt;txt源文件记录的 / / 10W吧
$线= file_get_contents(文件);
ini_set('memory_limit ',' 1 '); / /不限制内存的大小,否则会出错
行=爆炸(
$ I = 0;
为SQL =插入words_sentiment(Word,senti_type,senti_value,word_type)价值;
foreach(美元美元美元关键= >行李)
{
$ ARR =爆炸(
senti_value美元= $ - $ ARR ARR { 2 } { 3 };
如果(senti_value美元!= 0)
{
如果($ = 20000 $ i < 25000)批导入,以避免失败
{
$ = =爆炸(
foreach(百万美元至M){ 1 } #并拢内收# 1 / /内收# 1本TXT记录被转换成3个{ SQL记录
$ NN =爆炸(#
$ Word = $ NN { 0 };
$
}
}
美元+;
}
}
回声$ i;
为SQL = substr($ SQL,0,1); / /删除最后一个逗号
;
file_put_contents('20000-25000 .txt,$ SQL); / /批量导入数据库,5000的时间,约40秒为一路;太多的max_execution_time不会导致失败。
>
1,当导入海量数据时,要注意PHP的一些局限性,可以暂时调整,否则会出错。
允许的内存大小为33554432字节耗尽(试图分配16字节)
2,PHP运行txt文件。
file_get_contents()
file_put_contents()
3,当批量引进时,最好的批次被引入,失败的概率很小。
4,在大规模导入之前,必须反复测试脚本,例如使用100个数据进行测试。
5、引进后,如果PHP的mem_limit是不够的,程序不能运行。
(推荐使用改性的提高mem_limit而不是临时的语句)
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。