我希望有人能帮助我。这是SQL查询:

SELECT *
FROM pf_profilvisit
WHERE u1 = '".$user."'
   AND u2 NOT IN (
      SELECT empf FROM pf_mailbox WHERE abs = '".$user."'
   )
   AND u2 NOT IN (
      SELECT abs FROM pf_mailbox WHERE empf = '".$user."'
   )
ORDER BY id DESC);

我怎样才能更快?

最佳答案

SELECT pf_profilvisit.*
FROM pf_profilvisit
LEFT JOIN  pf_mailbox
ON pf_profilvisit.u2 = pf_mailbox.empf
  OR pf_profilvisit.u2 = pf_mailbox.abs
WHERE pf_profilvisit.u1 = '".$user."'
  AND pf_mailbox.empf IS NULL
  AND pf_mailbox.abs IS NULL
ORDER BY pf_profilvisit.id DESC;

您可以显示您的表模式吗?是否有列pf_mailbo.abs, pf_mailbo.empf, pf_profilvisit .u1, pf_profilvisit.u2, pf_profilvisit.id索引?

关于mysql - MySQL不是很慢,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30170417/

10-09 15:15