首页 > 后端开发 > php教程 > MySQL有限个数的数据用tinyint存和varchar存哪种更好些?

MySQL有限个数的数据用tinyint存和varchar存哪种更好些?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-06 20:47:38
原创
1358 人浏览过

tinyint服务器判断数字后显示对应的内容
varchar就直接存要显示内容

如存XXX的分类
如存男/女

(新手求解答)

回复内容:

tinyint服务器判断数字后显示对应的内容
varchar就直接存要显示内容

如存XXX的分类
如存男/女

(新手求解答)

按照“规矩”的话数据库设计是应该要符合三个范式的,就是要新建一张专门的表用来存放“类别”。不过实际情况中如果“类别基本没有变动”的话,直接存“要显示的内容”会好一些,这样取数据的时候不需要再查询另一张表,减少一次查询。当然,缺点就是占用的空间大了,但拿空间来换时间是明智的。

就PHP来说,存在数据库中的是数字,取出数字的时候通过一个数组来获取“类别”的名称,也是一种不错的做法。

另外,类别的个数只有少数几个的情况如“男、女”时,直接约定用1表示男,用0表示女也是常见的做法,不过记得给字段加上注释/描述。

最后,提个小细节,长度固定的字符串用char存,相对用varchar存,在读取方面会快些。

使用enum

推荐一下MySQL中的enum,
它表现出来varchar的字符串形式,
但是实际上只占一个tinyint(可能是,我不是很确定。我记得enum好像是占2字节)的空间。

char,这点转换算不了啥。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
怎么学好php
来自于 1970-01-01 08:00:00
0
0
0
PHP扩展intl
来自于 1970-01-01 08:00:00
0
0
0
php数据获取?
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板