zoukankan      html  css  js  c++  java
  • 通过char与varchar的区别,学习可变长的字符类型

    转自http://www.uphtm.com/database/232.html
    在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定的长度,而varchar属于可变长的字符类型。
    char与varchar的区别
     
    char (16)长度固定, 如'www.uphtm.com' 存储需要空间 14个字符
     
    varchar(16) 可变长 如'www.uphtm.com' 需要存储空间 15字符,
     
    从上面可以看得出来char 长度是固定的,不管你存储的数据是多少他都会都固定的长度。而varchar则处可变长度但他要在总长度上加1字符,这个用来存储位置。所以实际应用中用户可以根据自己的数据类型来做。
     
    再看看char,与varchar在速度上的区别吧。
    mysal>create tabe ab(v varchar(4),c char(4));
    query ok ,0 rows affected(0.02 sec)
    mysql>insert into abc values('ab ','ab ')
    query ok ,1 row affected(0.00 sec);
    mysql->select concat(v ,'+') ,concat(c ,'+') form abc
    ab + | ab+
    1rows in set (0.00 sec)
     
    从上面可以看出来,由于某种原因char 固定长度,所以在处理速度上要比varchar快速很多,但是对费存储空间,所以对存储不大,但在速度上有要求的可以使用char类型,反之可以用varchar类型来实例。
     
    注明:
     
    在用char字符类型时内容后面有空间时必须作相关处理,要不就会把空格自动删除。
     
    建意:
     
    myisam 存储引擎 建议使用固定长度,数据列代替可变长度的数据列。
    memory存储引擎 目前都使用固定数据行存储,因此无论使用char varchar列都没关系,
    innodb 存储引擎 建意使用varchar 类型。
  • 相关阅读:
    HTML5 WebSocket 技术介绍
    腾迅平台接入笔记
    Windows 2008 R2 64位上安装wamp失败的原因
    海伦公式
    ANE接入平台心得记录(安卓)
    ANE原生代码的调试(安卓)
    一行代码远离Google浏览器兼容问题的困扰
    U3D的飞船太空射击例子中,使用coroutine
    这几天在搞UNITY3D,感觉回到了AS2
    网页动物园2.0发布,经过几个月的努力,采用JAVA编写!
  • 原文地址:https://www.cnblogs.com/sdfgdrg/p/10118879.html
Copyright © 2011-2022 走看看