首页 > 解决方案 > 逐行比较大型Mysql表(1列)与文件

问题描述

我想在 MySQL 中的 1Gb 表(1 列)和(200Mb-2Gb)文件之间进行比较,从 MySql 中获取所有不在文件中的数据,文件偶尔会发生变化。我在 PHP 中使用这段代码

    $fileData = file_exists('/home/list')?explode("\n", file_get_contents('/home/list')):array();
    $bdTable = array();
    $query_data = bd::query("SELECT id_md5 FROM table WHERE addr REGEXP '$regex'");
    while ($row = mysql_fetch_array($query_data)){
    $Md5 = $row['id_md5'];
    if(!in_array($Md5,$json)){
    $bdTable[] = $Md5;
    $data_count3++;
    }
    }

但它很慢,我想知道是否有更快的方法,它可以使用 PHP、centos 命令行或 Mysql

标签: phpmysqlunixcentos6

解决方案


推荐阅读