php循环批量like查询与修改的方法
程序员文章站
2024-01-18 20:58:34
...
求助php循环批量like查询与修改的方法。
有两表
dataA 标签表
id key tagid
1 关键字 2 tagid(关键字对应的ID)
……
dataB 信息表
id name tagid
1 标题内容 标签对应tagid
dataA表中有将近2K条数据
dataB表中有10W左右的数据
我要将A表的key 与 B表的name匹配 如果存在就将tagid 赋值给B的id
我是这样写的
$sql= …… 查询A表
foreach($sqlRs as $tkey){ //循环A表的key
$bsql = "select id from dataB where name like '%".$tkey['key%']."%' ";
……
foreach(){
循环输出 id
$sArray[]=$bRs['id'];
}
update() //修改相关B的name;
}
类似这种方法,但是我现在有这么多的数据,A才几千就要花好几分钟。各位帮我想想有没有更好的办法。
------解决方案--------------------
谷歌“tag数据库”,会找到若干文章,一看,便
------解决方案--------------------
LZ 循环查询 更新绝对不可取的。2K 10W 会累死的。
你查一下 case when 的用法。可以试一下。
有两表
dataA 标签表
id key tagid
1 关键字 2 tagid(关键字对应的ID)
……
dataB 信息表
id name tagid
1 标题内容 标签对应tagid
dataA表中有将近2K条数据
dataB表中有10W左右的数据
我要将A表的key 与 B表的name匹配 如果存在就将tagid 赋值给B的id
我是这样写的
$sql= …… 查询A表
foreach($sqlRs as $tkey){ //循环A表的key
$bsql = "select id from dataB where name like '%".$tkey['key%']."%' ";
……
foreach(){
循环输出 id
$sArray[]=$bRs['id'];
}
update() //修改相关B的name;
}
类似这种方法,但是我现在有这么多的数据,A才几千就要花好几分钟。各位帮我想想有没有更好的办法。
------解决方案--------------------
谷歌“tag数据库”,会找到若干文章,一看,便
------解决方案--------------------
LZ 循环查询 更新绝对不可取的。2K 10W 会累死的。
你查一下 case when 的用法。可以试一下。
相关文章
相关视频
上一篇: 用php实现ping命令的方法
下一篇: 10个实用的PHP正则表达式