我需要创建一个具有“喜欢”的应用程序。这意味着具有唯一ID的人可以喜欢具有唯一ID的项目,但是仅具有一次。该项目不能不喜欢。我只想出了一个小表,其中有user_id
和item_id
列,在插入之前,我应该检查该用户是否已经喜欢该项目。在我看来,这不是完成任务的最佳方式,因为会有很多(〜100万)用户和很多项目,所以表格应该非常大并且会影响搜索和插入速度。有没有其他方法可以做到这一点?或者,如果我的方法适合在这里,将这些信息存储在数据库中的最佳方法是什么?目前我正在使用MySQL数据库,在这里使用NoSql更好吗?实现“喜欢”功能
Q
实现“喜欢”功能
2
A
回答
2
那么首先要做的是在两列(组合)上设置一个“唯一”约束,以便它们的组合是唯一的。不确定MySQL是否支持这一功能,但MSSQL表示确实如此,而且您可以拥有高达8 GB的数据,因此,一百万用户甚至没有接近极限 - 如果您的用户数量超过一百万,就能很好地扩展。你应该在liker上创建一个覆盖索引,并且喜欢它,并使其具有独特性。使用80填充插入将是即时的,查找也是如此。这是一个关系问题,所以关系数据库将会为了速度和效率而使用任何非关系数据库(NO SQL)。你没有提及,如果liker和喜欢逗号 - 我猜不是
相关问题
- 1. NoReverseMatch实现Django的喜欢
- 2. IONIC:喜欢不喜欢`ng-repeat`内的功能
- 3. 喜欢/不喜欢的功能的PHP/SQL逻辑
- 4. JQuery Facebook喜欢标签功能
- 5. 你喜欢FxCop有哪些功能?
- 6. 历史/最喜欢的功能iphone
- 7. facebook的功能喜欢按钮
- 8. 我想喜欢的东西的功能
- 9. 建设维基喜欢的功能
- 10. sprintf喜欢Python中的功能
- 11. OrientDB - 微博喜欢实现和订购
- 12. 使用MySQL实现投票或“喜欢”
- 13. 我如何实现“喜欢”按钮?
- 14. 你更喜欢什么日志实现?
- 15. Facebook如何在实现“喜欢”功能时选择多张图片:图片
- 16. 核心数据和“喜欢”的实体之间的功能
- 17. SQL不喜欢和喜欢
- 18. mySQL喜欢,但不喜欢
- 19. 喜欢但不喜欢
- 20. mysql喜欢性能提升
- 21. PHP喜欢/不喜欢按钮只能第一次工作
- 22. 在Facebook上显示喜欢的喜欢数量喜欢按钮
- 23. 查询你喜欢谁,谁喜欢你,相互喜欢?
- 24. 喜欢和喜欢的按钮为Drupal
- 25. Jquery ajax喜欢和不喜欢按钮
- 26. 喜欢/不喜欢Firebase的交易?
- 27. 喜欢和不喜欢在同一列
- 28. MySQL 5.0实例管理器喜欢早期版本的功能吗?
- 29. “最受欢迎”功能数据库的实现
- 30. PHP:我的漫画网站的自定义喜欢功能
定义一个唯一的索引(user_id,item_id)强加你的约束。这是更基于集合的分层,所以SQL作为实现选择是很好的。 – 2013-03-20 16:02:49