这期内容当中小编将会给大家带来有关mysql char,varcher,text的区别与选用原则是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
char,varcher,text的区别与选用原则
mysql中char,varchar,text有什么使用区别呢?
先看看他们的共同点:都可以用来存储字符类型的数据。
char,varchar都可以指定最大的字符长度,text不可以。
比如,
username char(10) ,
www.2cto.com
weibo vachar(200)
这是在定义表的时候使用。都可以定义最大的长度。
区别:以上面的语句为例,username是char类型的数据,最大字符长度为10个字符,如果输入不满10个字符时,后面会自动被填充空格,也就是说始终会占用10个字符的长度。如果内容被取出之后,后面的空格将被自动清除(即使存入是后面带有空格,取出之后也会不空格给去掉,例如“abcd ”,后面有两个空格,最后取出之后也空格就没有了'abcd')
而varchar类的是变长的,比如上例,200个最大长度,其中会有一到两个字节用来记录战用的长度。比如存进去100个字符,最后只会占有100个长度多一点(多的一连个记录占用空间的),而不是在后面补充空格占用所有长度。如果存进去后面有空格,那么后面的空格也会占用长度,取出之后空格还有事结果的一部分,这些是char和varchar之间的区别。
text主要是存储字符串,和varchar的长度相同,text不可以设置默认值,对索引的支持还不是很好或者就不支持。
char的速度要比varhcar快速
使用原则:
协调空间和时间的关系,
以微博为例,
www.2cto.com
如果存储的是用户名的话,使用char,速度快,占用空间不是很大,空间使用率较高,比如最多10个字符,
如果是存储微薄,有的用户微薄会占用100多个字符,而有的微薄最多占用10个字符,并且并不是每个用户只发一条微薄,如果使用char的话浪费率太高,空间浪费太大,使用text速度也跟不上,是用varchar比较好,空间是变长的,并且速度也算可以。
现在的硬件的价格相对便宜,尽量让空间换时间,提高系统的效率与吞吐量,不过也要做到一定的度。需要根据具体情况具体分析考虑。
上述就是小编为大家分享的mysql char,varcher,text的区别与选用原则是怎样的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。