数据库中varchar和char的比较
来源:互联网 发布:剑网三任务指引软件 编辑:程序博客网 时间:2024/05/21 07:15
部分信息转自别处.....
一.数据存储开销
1.char(n) 是定长的,也就是当你输入的字符小于你指定的数目时,char(8),你输入的字符小于8时,它会再后面补空值。当你输入的字符大于指定的数时,它会截取超出的字符。
在程序中,会返回给你8位,后面的用空格补上;
在数据库中,char(8),占用16个字节(1个字符=2个字节);
2.varchar(n) 是长度为 n 个字节的可变长度且非 Unicode 的字符数据。n必须是一个介于1和 8000之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。
二.插入数据
1.char列的NULL值占用存储空间。
2. varchar列的NULL值不占用存储空间。
插入同样数量的NULL值,varchar列的插入效率明显高出char列。
插入不为null的数据时,无论插入数据涉及的列是否建立索引,varchar列的插入效率也是明显高出char列。
三.更新数据
如果更新的列上未建立索引,则char的效率低于varchar,但效率差异不大。
如果更新的列上建立索引,则char的效率低于varchar,并且效率差异很大。
四.修改结构
无论增加或删除的列的类型是char还是varchar,操作都能较快的完成,而且效率上没有什么差异。
对于增加列的宽度而言,char与varchar有非常明显的效率差异,varchar列基本上不花费时间,而修改char列需要花费很长的时间。
五.数据检索
无论是否通过索引,varchar类型的数据检索略优于char的扫描。
那实际开发中,我们使用哪种呢?
当确定字符串为定长、数据变更频繁、数据检索需求少时,使用char;
当不确定字符串长度、对数据的变更少、查询频繁时,使用varchar。
- 数据库中varchar和char的比较
- 数据库中varchar和char的比较
- 数据库中varchar和char的区别
- MYSQL中CHAR,VARCHAR,BLOB和TEXT的比较
- postgresql数据库varchar、char、text的比较
- char和varchar比较
- char和varchar比较:
- Mysql数据库中varchar类型和char类型的区别
- MySQL的char和varchar比较
- 数据库中char、nvarchar和varchar区别
- 认真对待数据库中char和varchar
- 数据库中char varchar varchar2 的区别
- 数据库中char, varchar, nvarchar的差异
- 数据库中char, varchar, nvarchar的差异
- 数据库中char,varchar,nvarchar的区别
- 数据库中char, varchar, nvarchar的差异
- 数据库中char, varchar, nvarchar的差异
- 数据库中char, varchar, nvarchar的差异
- hdu 5024 DFS 2014亚洲区域赛广州网赛
- 用WebCollector制作一个爬取《知乎》并进行问题精准抽取的爬虫(JAVA)
- Python下VTK 编程
- 三大框架面试总结
- .Net 简写
- 数据库中varchar和char的比较
- 字符串函数的自我实现
- UCS2 UTF8 编解码
- 下载win7默认字库
- 马云在阿里巴巴上市庆祝晚宴上的演讲
- 【项目部署-01】IDEA13中将Web项目发布为War包
- NTP能用的几个地址
- mysql内核分析的网址
- eclipse中禁用JS验证