mysql中,下面哪种查询效率比较高?

一:$notDealEmailArr=$elanw_client_caiji->getObjectList("selectcIdfromelanw_client_caij... 一:

$notDealEmailArr=$elanw_client_caiji->getObjectList("select cId from elanw_client_caiji where type=2 and addtime<='".$time."'");//审核未通过且14天以前的数据
foreach($notDealEmailArr as $k=>$v){
$cUser=$elanw_client->select('cId='.$v['cId'],'cUser');//获取业务员
$isUser=$userinf->select("name='".$cUser['cUser']."' and forbid<>'yes' and joinstate <>2",'name');//判断业务员是否是正式用户
if($isUser){
$updateArr= array(
array("columnName"=>"cUser","columnValue"=>'wbpub'),
);
$elanw_client->update($updateArr,"cId=".$v['cId']);//转入外部资源库

$updateArr2= array(
array("columnName"=>"type","columnValue"=>'0'),
);
$elanw_client_caiji->update($updateArr2,"cId=".$v['cId']);//审核状态变为待审核
}
}
二:
$idArr=$elanw_client->getList('allList', "and cId in(select cId from elanw_client_caiji where type=2 and addtime<='$time') and cUser in(select name from userinf where forbid<>'yes' and joinstate <>2)",'','', '', array('fields'=>'cId'),'');//获取14天前审核不通过的且已被领取的数据
foreach($idArr as $k=>$v){
$updateArr= array(
array("columnName"=>"cUser","columnValue"=>'wbpub'),
);
$elanw_client->update($updateArr,"cId=".$v['cId']);//转入外部资源库

$updateArr2= array(
array("columnName"=>"type","columnValue"=>'0'),
);
$elanw_client_caiji->update($updateArr2,"cId=".$v['cId']);//审核状态变为待审核
}
直接说下面哪种查询比较好啊
法一:
$A=query(select name from tableA where id in(select id from tableB where logintime<='2016-04-21 14:20:00'));

法二:
$B=query(select id from tableB where logintime<='2016-04-21 14:20:00');
foreach($B as $v){
$C=query(select name from tableA where id=$v['id']);
}
展开
 我来答
lpe234
2017-09-26 · TA获得超过2778个赞
知道小有建树答主
回答量:1250
采纳率:50%
帮助的人:565万
展开全部
-- 如果是单纯的SQL
SELECT a.name FROM tableA a LEFT JOIN tableB b ON A.id = b.id AND b.logintime<='2016-04-21 14:20:00';

-- 方法一 这种嵌套 尽量少用
-- 方法二 过多的查询 尽量少用

-- 不过总的来看 这些查询都要根据具体业务和实际情况来查询的
bendan阿修
2016-04-21 · TA获得超过1228个赞
知道小有建树答主
回答量:887
采纳率:77%
帮助的人:319万
展开全部
当然是第一种,第二种程序与数据库交互多次,效率肯定比第一种慢
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式