我最近自己在做一个小的论坛
在设计数据库的时候有个不清除的地方还想请教一下你
我在设计数据库表(发帖子表)结构的时候,要保存是谁发的帖子,在这里我是直接保存用户名还是保存用户注册时候生成的id数字?还是两个都保存?因为我是用session还跟踪用户的,如果直接用用户名来查询只用一个sql就可以了,如果是userId,那就要两次,一次是通过用户名找出用户id,再通过用户id找所发的帖子,但是一个朋友说数字匹配查询要比文字匹配查询快的多。很郁闷

解决方案 »

  1.   

    都可以的
    用一句sql也可以根据id把用户名显示出来的(join)当然了,你也可以在保存留言的时候,直接把当前的用户名写入前者如果在数据量很大的情况下(留言非常很多),而且你的机器性能又不好,就会慢一点的,不过一般来说没什么问题的
      

  2.   

    两个都保存,查询的时候按userID来查.
      

  3.   

    保存ID比较妥当。
    保存ID数据量小点,有些人用户名可能很长的。还有,如果保存用户名, 假设有一天,你想给自己改一下用户名.....