当前的业务逻辑要求先查看某条数据是否已经存在,如果不存在,再执行下一步操作。
逻辑大概是这样:
foreach( $lists as $one )
{   // 如果没有匹配到数据
    if( ! query("SELECT * FROM `t1` WHERE `md5_title` = MD5('{$one}')") ){
        // do something
        // insert $one to t1
    }
}
毫无疑问这样做效率很低,因为$lists可能要上百个单元,这就意味着会有上百次查询。再者 t1 表里也有上十万条数据,我不可能把数据全部提取到应用里做比较。
那么我如何能高效的知道哪些是数据库中还不存在的数据?