比如一个私信的场景,二人之间的私信在表中会产生二条记录(方便查询)。
uid,chat_uid,forbid_status,is_payed,content
101 303 1 0 hello
303 101 0 0 hello
forbid_status表示被阻止私信联系,上面可以看出101用户不能发私信给303用户。
is_payed表示是否付费过,如果is_payed=1,那么即使forbid_status=1,101用户仍然可以发私信给303。
现在我是用的一张表实现的这些,现在想着用三张表实现是否更好:
chat表
uid,chat_uid,content
forbid表
uid,chat_uid,forbid_status
payed表
uid,chat_uid,is_payed
因为chat表的记录远多于forbid表和payed表,这样可以节约存储空间。另外在判断二人能否私信的时候,也不必去查chat表了。
有必要拆分表吗,我对一些数据库的一些设计概念不是很懂,只是感觉这样会更好些。。。。
uid,chat_uid,forbid_status,is_payed,content
101 303 1 0 hello
303 101 0 0 hello
forbid_status表示被阻止私信联系,上面可以看出101用户不能发私信给303用户。
is_payed表示是否付费过,如果is_payed=1,那么即使forbid_status=1,101用户仍然可以发私信给303。
现在我是用的一张表实现的这些,现在想着用三张表实现是否更好:
chat表
uid,chat_uid,content
forbid表
uid,chat_uid,forbid_status
payed表
uid,chat_uid,is_payed
因为chat表的记录远多于forbid表和payed表,这样可以节约存储空间。另外在判断二人能否私信的时候,也不必去查chat表了。
有必要拆分表吗,我对一些数据库的一些设计概念不是很懂,只是感觉这样会更好些。。。。