【发布时间】:2012-12-08 05:12:54
【问题描述】:
我有这个问题:
SELECT * FROM tablename WHERE
((samaccountname_s='".$sender."' AND samaccountname_r='".$contact."') OR
(samaccountname_s='".$contact."' AND samaccountname_r='".$sender."'))
ORDER BY timestamp ASC
而且它非常慢,我认为一些延迟可能是服务器造成的,但我不禁认为有一个更有效的查询来获得我在上面寻找的结果。
简而言之:查询检查两个人之间是否有消息($sender 和 $contact)
这可以更有效/更快地完成吗?
【问题讨论】:
-
桌子有多大?上面有索引吗?
-
你的表有索引吗?使用
EXPLAINmysql优化器如何处理 -
请出示您的
CREATE TABLE声明。您可能需要一些(或更好的)索引。 -
对于dba.se 来说可能是一个更好的问题。
-
@Alnitak 我知道准备好的语句,在这种情况下,它们不是必需的。不过还是谢谢。