数据库字段太多会怎么样?????????
时间: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;
做了一个网站问题留言系统
前台用户提交时会显示:选择问题分类
因为问题分类有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
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28