我有一个大文件,它有超过100万行,还有另一个文件,它有我需要使用的输入字符串,以使大文件中的行匹配。
我就是这样做的:
File.open(strings_file, 'r') do |l|
File.open(large_file, 'r') do |line|
next if !line.include?(l)
puts line
end
end
但是,它将为每个循环打开大文件。例如,在输入字符串中,我有100行字符串,所以当它执行时,它将打开这个大文件100次来处理它,这需要更多的时间来完成。
是否有更快的方法来避免打开大文件10
我尝试将一个大文件导入到我的数据库(WordPress),它显示了一些错误,如下所示:
Error
Static analysis:
1 errors were found during analysis.
Unrecognized keyword. (near "ON" at position 25)
SQL query: Edit Edit
SET FOREIGN_KEY_CHECKS = ON;
MySQL said: Documentation
#2006 - MySQL server has gone away
很奇怪..。最初我认为php没有正确处理大文件上传(800mb-2 2gb)。
现在我已经知道文件被正确地移动了,但是在上传大文件时,将文件信息输入数据库的mysql查询似乎被跳过了。
mysql查询的执行方式与上传小文件时应该执行的一样。这个问题似乎只出现在较大的文件中
此外,在移动文件之前的mysql查询似乎工作得很好。
进程:
Wait for uploaded file,
check file size,
get md5 of file,
move file from temp folder to uploads folder,
if moving file is succes