用php处理一个超大sqlite文件(几十G),有什么好方法?
PHP中文网
PHP中文网 2017-05-16 13:04:33
0
9
686

用php处理一个超大sqlite文件(几十G),有什么好方法?
处理的时候 直接死了~~

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(9)
左手右手慢动作

这么大的文件PHP肯定是处理不了的,PHP处理文件首先要把它读到内存中,而每个脚本能够使用的内存跟PHP配置文件中的memory_limit是相关的。只要你内存足够大,你可以设置它为不受限制,就能够使用系统的最大内存。

推荐的解决方法是先把文件切小,通过shell程序比如sed把文件按一定大小(大小根据你的PHP内存大小确定)切割成若干个小文件,然后再用PHP处理。

世界只因有你

逐行读取,php有这个函数,每次读取3行,但是sqlite 是本地数据库,读取是驱动的事情吧,和php没多大关系吧,别一次性全打印就行了吧

阿神

应该把数据转到MYSQL再提供给PHP读写。sqlite本来是个小巧的文件数据库,处理巨大数据的能力低下。

大家讲道理

震惊!这么大的数据量居然还用sqlite。
再说你一次性把几十G读到内存,除非你的内存真的有几十G,否则一定爆内存。
建议尝试分割这个数据库或转换成其他类型的数据库处理。

过去多啦不再A梦

PHP对文本的处理并不理想,很慢的。 入mysql后在做处理的方案是可行的,就是比较耗时。

参考 用它查吧

世界只因有你

不懂sqlite 但是这么大的文件直接处理一定很难。但是大体上有一个思路。就是拆解。按照库啊。表啊什么的。

小葫芦

既然是sqlite文件,那就按数据库读取->处理->存储就可以了,php默认能直接使用sqlite.

曾经蜡笔没有小新

sqlite转Mysql吧,然后优化索引,应该没啥问题了。

给我你的怀抱

参考一下这货

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板