我有如下关于数据库设计和性能的问题

我有如下关于数据库设计和性能的问题

1。在对多字段 插入查询 的性能问题
如: 1。 tb_user userid ,name ,psw,,,,,,,,十几20个(用户信息表)
2。tb_psw userid ,psw (如果分成密码表和用户基本信息表)

如果都是登陆 我查表1的tb_user 快还是 2的tb_psw快 (前提 两种方式我都只查询两个字段 userid,psw)
他门有什么性能上的差别是什么 数据库内部是怎么操作的 如“的卡而机”之类的

2。栏目的设计
tb_catalog id,name,
tb_subcatalog :subid,name
tb_news: newid,title,subid,....


tb_catalog id,name ,parentID(树行结构)
tb_news: newid,title,catalogid,....

以上两中方式
对查询新闻的速度和效率的区别
他门的可优缺点

如果有空就回一下把
thanks

1、如果数据量不大的话(小于1000),两个表的查询速度应该是一样的,如果数据量很大,加上索引,速度也没什么差别。从方便管理的角度看还是建一个表好。
2、分开建三个表比较好些
无论数据库表设计性能如何,重要的是我们使用了中间件服务器,在中间件我们可以通过特地缓存算法提高系统的性能;而不是象以前性能问题就是数据库性能;就要在SQL语句中进行螺丝壳做道场的感觉。

抱歉没有回答问题,我个人认为思维方式转变也许更有意义。

> 无论数据库表设计性能如何,重要的是我们使用了中间件服务
> 鳎谥屑浼颐强梢酝ü氐鼗捍嫠惴ㄌ岣呦低车男阅埽欢
> 是象以前性能问题就是数据库性能;就要在SQL语句中进行螺?> 壳做道场的感觉。
>
> 抱歉没有回答问题,我个人认为思维方式转变也许更有意义。

不要毁人不倦!

我是倾向于使用多张表存储用户数据。
一来是性能可能会好些。
二来这样更符合分离关注的原则。一般来说存储用户名,密码及其它相对固定数据,比如注册时间,等的放一张表A里。其它的用户属性信息象地址之类的放一张表B里。一般我们可能对属性这张表修改扩展它的字段,而不用涉及到A的修改。
可以这样定义用户类:,
UserProperty(address,phone,mobilephone等等)。
User:(userName,passwd,regTime,UserProperty等属性)