我有一个包含280万条记录的mysql表,我想将所有这些转换为JSON。我写了一个脚本来转换,但它停止了内存警告。
然后我尝试创建较小的文件(file1为0, 到100000条记录,文件2是100000到1000000条记录等)并与windows copy命令结合使用。它工作,但每个文件都是一个JSON数组(如[{...}]),当它合并时,它会变成单独的部分,如[{}] [{}](我希望它像[{.... ............}])
有没有更好的解决方案呢?
答案 0 :(得分:0)
我建议你在php.ini配置中更改'memory_limit'。此外,如果这需要很长时间,那么你可以通过cron job(如果可能的话)来处理这个问题
OR
您可以解码所有json文件并将其合并到一个数组中,然后再次在json中编码并放入json文件中。
答案 1 :(得分:0)
最后我这样做了。请看步骤(我不确定这是正确的,但它确实有效)。
总的来说,我的桌子上有260万条记录。我创建了一个脚本,它将选择mysql行,转换为json并写入文件。
选择0到100万的记录并创建文件1.对文件2和文件3重复1到2百万和2到260万。
使用JQ(http://stedolan.github.io/jq/)合并这些文件并创建一个JSON文件。