char和varchar2的异同点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了char和varchar2的异同点相关的知识,希望对你有一定的参考价值。

前言

最近备考时刚好遇到这个知识点,觉得char和varchar2的不同点可以从评价算法的三个标准(空间复杂度,时间复杂度,稳定性)来区分,就mark一下。

相同点

    char和varchar2都是用来存储字符的。

不同点

  1. 内存消耗

    char是固定长度字符型数据,长度以字节为单位,最小长度和默认长度都为1,最大长度为2000。
    varchar2是长度变化的字符型数据,最小长度为1,最大长度为4000。
    varchar2的长度取决于存储的字符串长度,char是固定长度,多出部分用null填充。
    varchar2比char更节省空间。
  2. 效率

    char的效率比varchar2的效率稍高(以空间换时间)
  3. 稳定性

    如果一个varchar2列经常被修改,而且每次被修改的数据的长度不同,会引起“行迁移”现象,这是数据库
    设计时要尽量避免的,在这种情况下用char代替varchar2会更好一点。

以上是关于char和varchar2的异同点的主要内容,如果未能解决你的问题,请参考以下文章

varchar和varchar2的异同点

oracle之VARCHAR2(50 CHAR) 和VARCHAR2(50) 区别?

Oracle varchar2或char类型的byte和char的区别

oracle 中 char 、varchar 、 varchar2 的区别以及他们的优劣,啥时候用?懂的来

数据库中,char 与 varchar2 的区别

oracle两个表varchar2长度不一致会走索引吗?还有char型和varchar2型的字段关联会走索引吗?