【发布时间】:2014-10-22 06:41:56
【问题描述】:
我正在寻找有关我正在从事的设计的一些建议。是这样的:
我有一个包含会议表和用户表的数据库。每个会议都有一个组织者,它对应于用户表中用户的 ID。此时非常简单。
现在通过 facebook api,我得到了每个人的朋友列表。我想在我的数据库中搜索我的朋友组织的会议。我首先想到的只是查询中的一个简单 IN('list of friends'),但我可以想象这会破坏性能。
现在的想法是创建一个包含用户 ID 和朋友 ID 的额外表,并将其加入查询中。
有人对什么表现最好有一些建议吗?当然,其他解决方案非常受欢迎;)
谢谢
没有
PS。 MySQL数据库
【问题讨论】:
-
“但我可以想象这会扼杀性能。” --- 只是想象力还是知识?
-
嗯,我知道一个 IN 语句经常被数据库重写为一堆 OR 语句,所以在我的想象中这对性能来说不是一件好事。这就是我在这里寻求建议的原因,我不确定;)
-
对于性能问题,通常最好(或唯一)确定的方法是在实际生产负载下进行双向测试,看看会发生什么。数据库查询优化器非常复杂,很难预测它们会做什么。
标签: mysql sql database facebook database-design