+ -
当前位置:首页 → 问答吧 → 数据库字段太多会怎么样?????????

数据库字段太多会怎么样?????????

时间:2010-08-30

来源:互联网

是这样的 
做了一个网站问题留言系统
前台用户提交时会显示:选择问题分类
因为问题分类有4-5个
每个分类需要用到的字段(用户表单填写项)有6个左右
我设计数据库时 我只建了一张表 把所有的字段都放在这表里
这样子我的这张表就有快40个字段了
但不是每个问题分类都需要用到全部的字段

这样子下来很多字段是空值的

而页面都是动态的
不知道这样子会不会变得很慢

不知道大家能不能理解

比如我一张留言表guestbook的结构是这样
tid 表示问题分类
CREATETABLEIFNOTEXISTS`guestbook` (
  `id` smallint(6) NOTNULLAUTO_INCREMENT,
  `tid` smallint(3) NOTNULL,
  `uid` int(11) NOTNULL,
  `username` varchar(45) NOTNULL,
  `mname` varchar(20) NOTNULLDEFAULT'',
  `k_orderid` varchar(25) NOTNULLDEFAULT'',
  `ip` varchar(15) NOTNULL,
  `time` int(11) NOTNULL,
  `s_orderid` varchar(25) NOTNULLDEFAULT'',
  `cardtype` varchar(45) NOTNULLDEFAULT'',
  `cardnumber` varchar(50) NOTNULLDEFAULT'',
  `cardpwd` varchar(50) NOTNULLDEFAULT'',
  `paytime` varchar(50) NOTNULLDEFAULT'',
  `content` textNOTNULL,
  `tradeype` varchar(20) NOTNULLDEFAULT'',
  `paytype` varchar(50) NOTNULLDEFAULT'',
  `paybank` varchar(50) NOTNULLDEFAULT'',
  `phonenumber` varchar(50) NOTNULLDEFAULT'',
  `accounts` varchar(10) NOTNULLDEFAULT'',
  `rechargtime` varchar(20) NOTNULLDEFAULT'',
  `userfen` varchar(50) NOTNULLDEFAULT'',
  `idcard` varchar(50) NOTNULLDEFAULT'',
  `truename` varchar(15) NOTNULLDEFAULT'',
  `havejoin` varchar(5) NOTNULLDEFAULT'',
  `linkman` varchar(20) NOTNULLDEFAULT'',
  `phone` varchar(20) NOTNULLDEFAULT'',
  `regemail` varchar(50) NOTNULLDEFAULT'',
  `havereply` tinyint(1) NOTNULL,
  `status` tinyint(1) NOTNULLDEFAULT'1',
  `title` varchar(255) NOTNULLDEFAULT'',
  `kfid` smallint(6) NOTNULL,
  `replycontent` mediumtext NOTNULL,
  `replytime` int(11) NOTNULL,
  `replyip` varchar(15) NOTNULL,
  `memberlevel` varchar(50) NOTNULLDEFAULT'',
  PRIMARYKEY(`qid`)
) ENGINE=MyISAM DEFAULTCHARSET=utf8 AUTO_INCREMENT=1;

作者: ganwu   发布时间: 2010-08-30

数据库字段多少要根据情况定!
在数据查询时候不一定要全部显示,也就是不必全部查出来。
选项性查询!数据库运行也是很快的

作者: lbc227540   发布时间: 2010-08-30