Thinkphp下导入千万级txt文件好方法 30
有哪位大神知道以下问题有好方法解决吗:1、数据库是Mysql2、每个月2000多万条数据,每条大概10个字段3、目前用的按月分区+客户账号子分区+索引primary(id...
有哪位大神知道以下问题有好方法解决吗:
1、数据库是Mysql
2、每个月2000多万条数据,每条大概10个字段
3、目前用的按月分区+客户账号子分区+索引primary(id,月,客户号)+普通索引(月,客户,机构)
4、似乎两个月数据相关联不出来。太大
5、问题是数据库设计,以及文件导入方法????
6、导入现在打算在linux下拆分后导入,不知道各位有更好办法没 展开
1、数据库是Mysql
2、每个月2000多万条数据,每条大概10个字段
3、目前用的按月分区+客户账号子分区+索引primary(id,月,客户号)+普通索引(月,客户,机构)
4、似乎两个月数据相关联不出来。太大
5、问题是数据库设计,以及文件导入方法????
6、导入现在打算在linux下拆分后导入,不知道各位有更好办法没 展开
1个回答
展开全部
$fp = fopen($file, "r");
$num = 10;
$chunk = 4096;
$fs = sprintf("%u", filesize($file));
$max = (intval($fs) == PHP_INT_MAX) ? PHP_INT_MAX : filesize($file);
for ($len = 0; $len < $max; $len += $chunk) {
$seekSize = ($max - $len > $chunk) ? $chunk : $max - $len;
fseek($fp, ($len + $seekSize) * -1, SEEK_END);
$readData = fread($fp, $seekSize) . $readData;
if (substr_count($readData, "n") >= $num + 1) {
preg_match("!(.*?n){".($num)."}$!", $readData, $match);
$data = $match[0];
break;
}
}
fclose($fp);
echo $data;
只要不读到内存操作就好办
追问
虽然没太看懂,但是好像是个方法的样子,如果能解析下更好了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询