发现织梦的数据库中,字符60以下的,全是char型?而不是varchar型,
我的点不解,为何不用varchar呢?
当然,我知道 char 的性能比 varchar 要高些,但是我想,不会太明显吧。
比如“标题”字段,织梦中是 char(60),为何不设成varchar(60)呢?这里少很多空间呀?我现在的原则是,10个字符以下的用 char型,超过 20 个字符的,都用 varchar 型,
我的作法不好吗?大家谈谈
我的点不解,为何不用varchar呢?
当然,我知道 char 的性能比 varchar 要高些,但是我想,不会太明显吧。
比如“标题”字段,织梦中是 char(60),为何不设成varchar(60)呢?这里少很多空间呀?我现在的原则是,10个字符以下的用 char型,超过 20 个字符的,都用 varchar 型,
我的作法不好吗?大家谈谈
前台处理时,要做截去空格的操作,而 varchar 就方便多了,没有多余的空格。
定长字符串主要是方便了存储,定位这个字段非常方便。所以,这是一种权衡。一般而言,如果浪费空间在20%以内,使用char(*)型是可以原谅的。太多了,可能就要考虑使用varchar(*),也有30%-70%原则的。
---------------------------------
当然有最基本的原则,定义一定要 char