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 类型。
  • 相关阅读:
    Asp.NET调用有道翻译API
    JSON C# Class Generator ---由json字符串生成C#实体类的工具
    让jQuery的contains方法不区分大小写
    javascript parseUrl函数(来自国外的获取网址url参数)
    typescript
    webpack 第二部分
    express node 框架介绍
    webpack 最新版
    es6 字符串 对象 拓展 及 less 的语法
    es6 的数组的方法
  • 原文地址:https://www.cnblogs.com/sdfgdrg/p/10118879.html
Copyright © 2011-2022 走看看