Php 查询操作方法慢
此应用程序存在性能问题。基本上我有三张桌子: TBL成员:成员ID、成员电子邮件Php 查询操作方法慢,php,mysql,Php,Mysql,此应用程序存在性能问题。基本上我有三张桌子: TBL成员:成员ID、成员电子邮件 tbltalks:talkid、talkdate、talknote tblmemberstalks:id、memberid、talkid 表成员包含成员列表 Table calls存储发言/会议谈话列表 TableMembersTalks存储将在特定会议上发言的成员列表 现在从我的前端(CMS),我想管理谁将在会议上发言(添加/删除成员)。目前有1009名成员。在当前的方法中,我将获取第一个已注册在会议上发言的成员
tbltalks:talkid、talkdate、talknote
tblmemberstalks:id、memberid、talkid 表成员包含成员列表
Table calls存储发言/会议谈话列表
TableMembersTalks存储将在特定会议上发言的成员列表 现在从我的前端(CMS),我想管理谁将在会议上发言(添加/删除成员)。目前有1009名成员。在当前的方法中,我将获取第一个已注册在会议上发言的成员列表,以便将其删除,并通过另一个查询获取尚未添加为发言者的成员列表,以便注册 基本上,我正在检查members表,并为每个成员检查
tblmemberstalks
。有没有更好的方法来改进,因为参与者的数量将逐渐增加
$registered="SELECT memberid,memberemail from tblmembers WHERE memberid IN (SELECT memberid FROM tblmemberstalks where talkid=1)";
$unregisterd="SELECT memberid,memberemail from tblmembers WHERE memberid NOT IN (SELECT memberid FROM tblmemberstalks where talkid=1)";
使用LEFT JOIN WITH CONDITION并检查NULL条目是否为UNREGISTRED
SELECT
case when mt.memberid is not null then 'registered' else 'not-registered' end as registration_status,
m.memberemail
from tblmembers m
LEFT JOIN tblmemberstalks mt ON (mt.member_id=m.id AND mt.talkid=1)