像Tinder这样的应用程序的高效MySQL数据库设计
作者:互联网
我正在创建Tinder之类的应用.用户可以向右或向右滑动,向左或向左滑动或不喜欢另一个用户.问题是关于存储用户的操作.用户操作需要一个表,如下所示
Person 1. | Person 2. | op
__________________________________
000001. 000007. Dislike
000001. 000011. Like
000001. 000053. Dislike
000001. 000173. Dislike
它存储操作,还用于不向用户显示更多时间.到现在为止还可以.
但是问题是,如果仅1000个用户刷卡另外1000个用户,则该表将具有1M行.如果有100,000个用户这样做,那么……将达到1亿行!这是非常巨大的.
你们对不那么大的结构设计有任何想法吗?
谢谢.
解决方法:
您将永远不会有一百万行,因为如果您正在做类似Tinder的应用程序,则可以重新匹配人员.因此,我建议您添加一个日期列,以知道何时可以删除行和存储过程,并可以执行该清理清理过期的关系.
使用此列,行将不会堆叠,并且您将永远不会有数百万行.
当人们喜欢在一起时,您也不需要存储.
编辑:为什么不使用带有两个列的CHECKSUM()来存储每个关系的哈希值?会更轻.
EDIT2:别忘了这是一个爱情应用.人们无法与所有人匹配,因为他们有性取向.
标签:data-structures,mysql,database,tinder 来源: https://codeday.me/bug/20191211/2105793.html