sql中char和varchar的区别

关于sql中char和varchar的区别这个问题很多朋友还不知道,今天小六来为大家解答以上的问题,现在让我们一起来看看吧!
1、区别: 1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (10),表示你存储的字符将占10个字节(包括7个空字符),而同样的VARCHAR2 (10)则只占用3个字节的长度,10只是最大值,当你存储的字符小于10时,按实际长度存储。
2、 2.CHAR的效率比VARCHAR2的效率稍高。
3、 3.目前VARCHAR是VARCHAR2的同义词。
4、工业标准的VARCHAR类型可以存储空字符串,但是oracle不这样做,尽管它保留以后这样做的权利。
5、Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。
6、如果你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。
7、 何时该用CHAR,何时该用varchar2? CHAR与VARCHAR2是一对矛盾的统一体,两者是互补的关系. VARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的‘以空间换效率’。
8、 VARCHAR2虽然比CHAR节省空间,但是如果一个VARCHAR2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移’(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用CHAR代替VARCHAR2会更好一些。
本文分享完毕,希望对大家有所帮助。
Tags:
相关推荐
- 湖北三江航天建筑工程有限公司以 60925996.99 元中标红林总装厂房二期工程
- 江西省天久地矿建设集团有限公司中标龙里县城区排涝工程勘测
- 北京中和联信供应链管理有限公司中标山地农业科技创新基地植物表型研究设备采购及伴随服务(重新招标)项目,中标金额 7764000 元
- 霸州市佳理鑫五金制品厂中标新乐市第三中学采购项目
- 河北泽辉市政工程有限公司等为路南区乡村振兴环境综合治理项目(一期)一标段工程总承包(EPC)(二次)中标候选人
- 河北石府建设工程有限公司10110736.93元中标高铁片区景观提升项目施工三标段
- 中基恒源建设有限公司中标高铁片区(含新华商业广场)景观提升项目施工五标段,中标价 13430852.95 元
- 九芝堂换帅完成工商变更
- 山西建设投资集团有限公司为大宁县水果供应链基地运营配套建设项目施工(二次)第一中标候选人
- 浙江宁慈建设工程有限公司以97028327元中标慈溪市城市生活垃圾收转运一体化建设项目(一期)
