Thinkphp下导入千万级txt文件好方法 30

有哪位大神知道以下问题有好方法解决吗:1、数据库是Mysql2、每个月2000多万条数据,每条大概10个字段3、目前用的按月分区+客户账号子分区+索引primary(id... 有哪位大神知道以下问题有好方法解决吗:
1、数据库是Mysql
2、每个月2000多万条数据,每条大概10个字段
3、目前用的按月分区+客户账号子分区+索引primary(id,月,客户号)+普通索引(月,客户,机构)
4、似乎两个月数据相关联不出来。太大
5、问题是数据库设计,以及文件导入方法????
6、导入现在打算在linux下拆分后导入,不知道各位有更好办法没
展开
 我来答
莘赡05V
2015-12-09 · 知道合伙人软件行家
莘赡05V
知道合伙人软件行家
采纳数:1397 获赞数:3710
毕业安徽理工大学

向TA提问 私信TA
展开全部
$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;

只要不读到内存操作就好办

追问
虽然没太看懂,但是好像是个方法的样子,如果能解析下更好了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式