`
chenzehe
  • 浏览: 532984 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

CHAR和VARCHAR使用原则

 
阅读更多

CHAR是固定长度,处理速度要比VARCHAR的要快,但是要浪费存储空间。随着MYSQL版本的不断升级,VARCHAR的处理速度也在提高,不同引擎对CHAR和VARCHAR的使用原则不同:

 

MyISAM:建议使用固定长度的数据列代替可变长度的

 

MEMORY:目前都使用固定长度进行存储,因此无论使用CHAR还是VARCHAR都没有关系,两者都做为CHAR类型进行处理。

 

InnoDB:建议使用VARCHAR类型,对于InnoDB数据表,内部的行存储格式没有分固定长度列和可变长度列,所有数据都使用指向数据列的头指针,因此在本质上使用CHAR不一定比VARCHAR性能好,主要的性能是数据行使用的存储总量,因此使用VARCHAR来最小化需要处理的数据行的存储总量和磁盘IO是比较好的。

分享到:
评论

相关推荐

    深入char、varchar、text和nchar、nvarchar、ntext的区别详解

    很多开发者进行数据库设计的时候往往并没有太多的考虑char, varchar类型,有的是根本就没注意,因为存储价格变得越来越便宜了,忘记了最开始的一些基本设计理论和原则,这点让我想到了现在的年轻人,大手一挥一把...

    数据库设计原则.pdf

    数据库设计原则 数据库设计原则 1、在创建数据表的时候,对于字符串类型的字段,如果明确知道字段的长度,就⽤char类型,否则⽤varchar。char类型查询速度更快,但 会浪费存储空间 字符串char和varchar的区别在于两...

    43道MySQL面试题集合(附答案)

    4. char 和 varchar 的区别? 5. varchar(10) 和 varchar(20) 的区别? 6. 谈谈你对索引的理解? 7. 索引的底层使用的是什么数据结构? 8. 谈谈你对 B+ 树的理解? 9. 为什么 InnoDB 存储引擎选用 B+ 树而不是 B 树...

    MySQL索引不会被用到的情况汇总

    联合索引:索引列有多个字段,使用时需要满足最左前缀原则 普通索引 这是最基本的索引,它没有任何限制。它有以下几种创建方式: 1.创建索引 代码如下: CREATE INDEX indexName ON mytable(username(length)); ...

    mysql面试题 包含 初级 中级 高级 各级别知识点.rar

    char、varchar2、varchar有什么区别? 合并查询有哪些? SQL语句执行顺序 null的含义 MySQL、SqlServer、oracle写出字符存储、字符串转时间 update语句可以修改结果集中的数据吗? B树和B+树的区别 你见过...

    数据库设计规范(3).doc

    " "据) " " 2) 数据类型长度的选用参考: 如果以下字段类型和长度能满足设计要求,必须遵循以下字段选用原则 "数据类型 "常用类型 " "CHAR "CHAR(1)本规范不推荐长度不为1的字" " "段使用char类型 " "VARCHAR2(N) ...

    数据库设计规范模板.pdf

    6.3 数据类型使用要求 字符类型 固定长度的字串类型采用char,长度不固定的字串类型采用 varchar。避免在长度不固定的情况下采用char类型。 数字类型 数字类型要区分整型和浮点型,如果是浮点型,要定义数值精度范 ...

    数据库物理设计.pdf

    char与varchar如何选择: 1、如果列中要存储的长度差不多是⼀致的额,则应该考虑选择char;否则应该考虑⽤varchar。(如⼿机号码,⾝份证号 码) 2、如果列中的最⼤数据长度⼩于50byte,则⼀般也考虑char。如果这个...

    关于MySQL面试题中有关索引的九大难点全在这里了

    o全文索引:MyISAM和InnoDB中都支持使用全文索引,一般在文本类型char,text,varchar类型上创建。 oR-Tree索引: 用来对GIS数据类型创建SPATIAL索引 物理存储维度 o聚集索引:聚集索引就是以主键创建的索引,在叶子...

    关系数据库设计

    数据类型的选择选择原则固定长度和可变长度char 与 varchartext 和 blob浮点数和定点数整数索引设计设计原则示例参考 摘要 本文讨论关系数据库设计相关的一些内容,涉及关系模型,表结构设计等内容,以学生选修课程...

    数据库设计的性能与效率.docx

    因此,如果在char和varchar类型之间进行选择,需要对时间与空间作出折衷; 变长表到定长表的转换,不能只转换一个可变长字段,必须对它们全部进行转换。而且必须使用一个ALTER TABLE语句同时全部转换,否则转换将不...

    Oracle表的各种操作.docx

    通常当一列包含数据时,你不能修改该列的数据类型,不能减少一列的长度,但当列中包含空值或你不改变列的大小时,你可以把CHAR 转换为VARCHAR2数据类型。 6、当对一表执行了DML语句的INSERT操作时,但没有提交,...

    基于B_S模式的教师信息管理系统.pdf

    通过本系统的开发,以好用、易用、美观的原则为学校定制了一套统一的人机界面,按两大类功能模块即以编辑为主用来操作如增加、修改、删除等的请求,另一类则是浏览类,主要用来完成以再先为主的功能,如查询、浏览、...

    MYSQL培训经典教程(共两部分) 2/2

    DATE和TIMESTAMP类型 230 1.3.3.3 TIME类型 233 1.3.3.4 YEAR类型 234 1.3.4 字符串类型 234 1.3.4.1 CHAR和VARCHAR类型 234 1.3.4.2 BLOB和TEXT类型 235 1.3.4.3 ENUM类型 236 1.3.4.4 SET...

    MYSQL培训经典教程(共两部分) 1/2

    DATE和TIMESTAMP类型 230 1.3.3.3 TIME类型 233 1.3.3.4 YEAR类型 234 1.3.4 字符串类型 234 1.3.4.1 CHAR和VARCHAR类型 234 1.3.4.2 BLOB和TEXT类型 235 1.3.4.3 ENUM类型 236 1.3.4.4 SET...

    基于J2EE的网站购物系统.rar

    通过本系统的开发,以好用、易用、美观的原则为学校定制了一套统一的人机界面,按两大类功能模块即以编辑为主用来操作如增加、修改、删除等的请求,另一类则是浏览类,主要用来完成以再先为主的功能,如查询、浏览、...

    sql2005全文检索.doc

     (1)大数据量、超大数据量的结构化平文本数据和模糊匹配查找(Char、Varchar、Nvarchar)。  (2)大数据量、超大数据量的层次型XML数据展开后的查找---含模糊查找(Xml type)。  (3)标准格式的二进制非...

    数据库相关的知识点!

    在使用组合索引时,若组合索引为(name,email),单独索引email时不走索引,这称为最左前缀匹配原则,最左匹配原则中,mysql会一直向右匹配知道遇到(< > between like)这一类的范围查询时停止 explain + sql查询语句,...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数...

    数据库设计规范化.doc

    反之,数 据库表结构设计不合理,不仅会给数据库的使用和维护带来各种各样的问题,而且可能 存储了大量不需要的冗余信息,浪费系统资源。 要设计规范化的数据库,就要求我们根据数据库设计范式――也就是数据库设计...

Global site tag (gtag.js) - Google Analytics