MySQL查询需要一段时间,如果可能需要优化
问题描述:
我有这个查询来获取用户的联系人列表。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列
答
使用索引。
你有什么试过?我们需要更多的信息来确定答案。联系人或用户是否更小? contactID和id是否被索引? – 2014-11-21 20:00:00
标准经验法则:在决策环境中使用的任何字段(例如where,order by,join,case等)应该有一个索引。 – 2014-11-21 20:00:07
由于代码目前正在工作,这不属于代码审查吗? – user2366842 2014-11-21 20:00:22