2014-11-21 128 views
1

我有这个查询来获取用户的联系人列表。MySQL查询需要一段时间,如果可能需要优化

SELECT contacts.contactID as id, contacts.conversationID, users.username, 
profile_picture, picture_path, full_name, sex, availabilityStatus 
FROM contacts 
JOIN users ON contacts.contactID = users.id 
WHERE contacts.ownerID = ?; 

关于如何优化此查询的任何想法?

users表约有1M行。 contacts有大约10M行。

有用户ID,使用ContactID指标,OWNERID

在谁的人有例如200个联系人,查询需要几秒钟。

感谢

上contacts.contactID,users.id和contacts.ownerID列
+1

你有什么试过?我们需要更多的信息来确定答案。联系人或用户是否更小? contactID和id是否被索引? – 2014-11-21 20:00:00

+4

标准经验法则:在决策环境中使用的任何字段(例如where,order by,join,case等)应该有一个索引。 – 2014-11-21 20:00:07

+0

由于代码目前正在工作,这不属于代码审查吗? – user2366842 2014-11-21 20:00:22

回答