我正在快速整理好友/朋友列表,其中用户将拥有好友列表。我将使用关系数据库,并找到以下帖子:
Buddy List: Relational Database Table Design
所以好友表可能看起来像这样:
buddy_id username
1 George
2 Henry
3 Jody
4 Cara
用户好友列表的表格如下所示:
user_id buddy_id
2 4
1 4
1 3
我的问题是,如果一位用户有超过两万个好友并希望在一秒左右的时间内完成整个列表,那么会有多快。我将在一个非常典型的MySql设置上运行它。是否有任何关键优化或数据库配置可以快速实现这一目标?
答案 0 :(得分:0)
“拉出他们的整个清单”对你意味着什么?
我可以在计算机上的15毫秒内从一个大的“好友”表(几百万行)中选择20,000行,但这不包括网络传输时间(两个方向),格式化和在网页上显示。 (我认为这是重点 - 网络应用程序。)
您需要一个涵盖user_id的索引,但在(user_id,buddy_id)上创建主键应该这样做。
脚本语言对于生成测试数据很有用。我今天正在使用ruby。