问题例如以下:
如果这样一种情况。首先说明,信息是存放在mysql数据库中的。
情况例如以下,A表信息堆是百万级信息堆(每条信息长度不长,基本在20字符以内,属于简短词语),B则是一条普通信息(长度大概在500字符左右),问。有哪种最有效的方式能够来推断B信息中是否包括有A堆中的信息并返回包括的信息?
在此提供一种解法,假设大家有更好的解法欢迎大家留言交流!
因为A信息堆数据量比較大并存放于数据库中。故产生一个非常easy的解法,直接通过一条sql解决。当然,这样会衍生一个问题就是sql优化,怎样降低搜索时间就要看你自己的优化手段啦。
查询sql例如以下:
select GROUP_CONCAT(匹配表字段) content from 表名 where instr(B表信息,匹配表字段)>0
另外。大家还能够採用全文检索的方式来提高检索速度