我正在开发一个类似Facebook的社交网站。我很困惑如何创建通知表的结构。是否应该为每个用户单独使用还是为所有用户使用一个巨大的 - 哪些地方经常添加和删除记录?用于社交网站的表格等通知的数据库表结构
回答
我有同样的问题,因为你和经研究发现这个(found this)这里给出的表结构是:
id
user_id (int)
activity_type (tinyint)
source_id (int)
parent_id (int)
parent_type (tinyint)
time (datetime but a smaller type like int would be better)
其中:
ACTIVITY_TYPE告诉我活动的类型,SOURCE_ID告诉我活动相关的记录。所以如果活动类型的意思是“添加最喜欢的”,那么我知道source_id是指最喜欢记录的ID。
parent_id/parent_type对我的应用程序很有用 - 他们告诉我该活动与什么有关。如果一本书收藏,然后PARENT_ID/PARENT_TYPE会告诉我该活动涉及到一本书(型)具有给定主键(id)
I指数在(USER_ID,时间)和查询活动是user_id IN(...朋友...)和时间>一些截点。开出id并选择不同的聚集索引可能是一个好主意 - 我还没有尝试过。
很基本的东西,但它的工作原理很简单,而且随着需求的变化很容易处理。另外,如果你不使用MySQL,你可能可以做更好的索引。
它还建议那里使用Redis更快地访问最近的活动。 随着Redis的中拌匀,它可能工作是这样的:
- 创建你的MySQL活动记录
- 对于用户的每一个朋友,谁创建活动,推动ID到在Redis的他们的活动列表。
- 调整每个列表中的最后一个X项目
Redis的是快速和跨越一个连接提供了一种管道命令 - 所以推的活动了1000个朋友需要毫秒。
对于什么,我说什么,看到Redis的Twitter的例子更详细的解释:http://code.google.com/p/redis/wiki/TwitterAlikeExample
我希望这可以帮助你也
仅给出链接参考作为答案并不好。如果链接被更改/更新/编辑/删除,答案将自动失效。所以总是试着解释答案,然后给出一个参考。 – Sankumarsingh 2013-08-20 09:59:15
谢谢,将编辑这一个 – YXN 2013-08-20 10:01:44
- 1. 社交网站的数据库连接
- 2. 数据库查询社交网站的时间表
- 3. 社交网站数据库开发
- 4. 关于社交网站数据库的问题
- 5. 针对社交网站的数据库和数据库引擎
- 6. 社交网络背后的数据库结构[指导]
- 7. 包含社区结构的社交网络数据集
- 8. 社交网站的报表/ BI框架
- 9. 社交网络数据库
- 10. 适用于.NET的社交网站API
- 11. 社交网站网站数据库管理
- 12. 社交网站的数据存储
- 13. 社交网站网站按钮库
- 14. 股票交易网站的数据库结构?
- 15. 社交媒体内容的表格结构
- 16. 社交网站需要的数据库模式帮助
- 17. 社交登录实现的数据库结构?
- 18. 网站数据库结构 - 最好最有效的结构
- 19. 使用ASP.NET的社交网络网站
- 20. 安全的社交网站
- 21. 用于图形/网络数据结构的Java API的列表
- 22. 数据库表结构
- 23. Zend_Auth:数据库表结构
- 24. 如何在社交网站2.1.3中从社交网站注销?
- 25. 收集社交数据驱动网站的数据
- 26. 多语言社交网站 - 数据库驱动?
- 27. 用于表示用户之间连接的数据库结构
- 28. 社交网站的Joomla VS笨社交网络
- 29. 复杂的SQL查询用于社交网络网站
- 30. 社交网络PHP/MySQL结构
我已经建立信息和个人资料和照片等,桌到现在。但我对通知感到困惑。看到我认为它有两种方式 - 1.每个用户的小通知表和一张存放所有通知的巨大表格。例如。 Not_a11(id,notf_id)。通知_master(notf_id,memid,notif_text,dttime)。这样我就会一直更新两张表。每当用户登录他的桌子时都会被引用,并显示通知。你说什么 – phpDevlpr 2013-03-04 04:52:45
有人回复? – phpDevlpr 2013-03-04 10:38:46