关于数据库表的设计问题?
我最近自己在做一个小的论坛
在设计数据库的时候有个不清除的地方还想请教一下你
我在设计数据库表(发帖子表)结构的时候,要保存是谁发的帖子,在这里我是直接保存用户名还是保存用户注册时候生成的id数字?还是两个都保存?
因为我是用session还跟踪用户的,如果直接用用户名来查询只用一个sql就可以了,如果是userId,那就要两次,一次是通过用户名找出用户id,再通过用户id找所发的帖子,但是一个朋友说数字匹配查询要比文字匹配查询快的多。。。。
很郁闷
------解决方案--------------------都可以的
用一句sql也可以根据id把用户名显示出来的(join)
当然了,你也可以在保存留言的时候,直接把当前的用户名写入
前者如果在数据量很大的情况下(留言非常很多),而且你的机器性能又不好,就会慢一点的,不过一般来说没什么问题的
------解决方案--------------------两个都保存,查询的时候按userID来查.
------解决方案--------------------保存ID比较妥当。
保存ID数据量小点,有些人用户名可能很长的。
还有,如果保存用户名, 假设有一天,你想给自己改一下用户名.....