搜索匹配另一张表时很慢

fkueyga6 2019-01-18 03:10:23
。。。。省略
if($benxiao>0)
{
$sql_where.=" and huodong.mobile not in (SELECT mother_mobile FROM ".$fdyu->table('oa_xueyuan')." where school_id=".$school_id.") and huodong.mobile not in (SELECT father_mobile FROM ".$fdyu->table('oa_xueyuan')." where school_id=".$school_id.") and huodong.mobile not in (SELECT home_tel FROM ".$fdyu->table('oa_xueyuan')." where school_id=".$school_id.")";//这里如果oa_xueyuan这张表里的数据多的话,搜索起来就很慢,有什么其它的方法可以快一点吗?
}

$sql = "SELECT huodong.* FROM
".$fdyu->table('oa_huodong_baoming')." as huodong
".$sql_title." ".$sql_benxiao." ".$sql_where." order by feiyong desc,huodong_baoming_id desc";
...全文
380 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
徐卡丘 2019-01-22
  • 打赏
  • 举报
回复
要不分两次查询,一次查出所有的电话,然后再主查询
fkueyga6 2019-01-19
  • 打赏
  • 举报
回复
要怎么写,不会,麻烦您帮忙写一下
fkueyga6 2019-01-19
  • 打赏
  • 举报
回复
引用 2 楼 xuzuning 的回复:
关系型数据库的强项就在于关联查询
你不去扬长避短,却偏要选择需要生成临时文件的子查询。何苦来哉呢?

请问要怎么写?
fkueyga6 2019-01-19
  • 打赏
  • 举报
回复
引用 1 楼 _xiaoxiao程序员 的回复:
你为什么三个字段要用三个子查询去查。。直接一次查询查出来不行吗

请问要怎么写?
xuzuning 2019-01-18
  • 打赏
  • 举报
回复
关系型数据库的强项就在于关联查询 你不去扬长避短,却偏要选择需要生成临时文件的子查询。何苦来哉呢?
异次元程序员 2019-01-18
  • 打赏
  • 举报
回复
你为什么三个字段要用三个子查询去查。。直接一次查询查出来不行吗

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧