MySQL数据库中的字段类型varchar和char的主要区别是什么?哪种字段查找效率要高?

1,varchar与char的区别?
(1)区别一,定长和变长,char表示定长,长度固定;varchar表示变长,长度可变。
当插入字符串超出长度时,视情况来处理,如果是严格模式,则会拒绝插入并提示错误信息,如果是宽松模式,则会截取然后插入。如果插入的字符串长度小于定义长度时,则会以不同的方式来处理,如char(10),表示存储的是10个字符,不论你插入的是多少,都是10个,如果少于10个则用空格填满。而varchar(10),小于10个的话,则插入多少个字符就存多少个。varchar怎么知道所存储的字符串长度呢?实际上,对于varchar字段来说,需要使用一个(如果字符串长度小于255)或两个字节(长度大于255)来存储字符串长度。
(2)区别二,存储的容量不同。
对char来说,最多存放255个字符,和编码无关;而varchar最多存放65532个字符,在存放字符串时候,第一个字节是空的,不存放任何的数据,然后还需要两个字节来存放字符串的长度,所以有效长度就是65535-1-2=65532。
varchar和char哪种查找效率更高?
char的效率高,没有碎片,尤其更新比较频繁的时候,方便数据文件指针的操作。但不够灵活,在实际使用中,应根据实际需求来选择合适的数据类型。
 
2,计算
若一个表定义为create table t1(c1 int,c2 char(30),c3 varchar(N)) charset=utf-8,
N的最大值是:
(65536-4-30*3-1-2)/3

文章来源地址https://www.yii666.com/article/754289.html文章地址https://www.yii666.com/article/754289.html网址:yii666.com<网址:yii666.com文章来源地址:https://www.yii666.com/article/754289.html

版权声明:本文内容来源于网络,版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。文本页已经标记具体来源原文地址,请点击原文查看来源网址,站内文章以及资源内容站长不承诺其正确性,如侵犯了您的权益,请联系站长如有侵权请联系站长,将立刻删除

MySQL数据库中的字段类型varchar和char的主要区别是什么?哪种字段查找效率要高?-相关文章

  1. Jmeter之JDBC类型组件

  2. Mybatis 中常用的java类型与jdbc类型

  3. java类型与jdbc类型对应表

  4. mysql 字段类型VARCHAR转换成DECIMAL

  5. MySQL中採用类型varchar(20)和varchar(255)对性能上的影响

  6. MySQL数据库中的字段类型varchar和char的主要区别是什么?哪种字段查找效率要高?

  7. JDBC——Sql Server

    sun公司设计一套java语言操作不同的数据库提供的是接口,二具体的实现类是由各大数据库厂商实现的。JDBC不管是sql server还是mysql大致的原理是一样的,这里只找到了mysql的jdbc部分源码,在Driver的类中,我们找到了如下代码所以通过就可以将上面jdbc的driver包下面的静态的代码

  8. JDBC(上)

    1. 课程回顾mysql加强1)数据约束(表约束)默认值: default 默认值非空:   not null唯一: unique主键: primary key (非空+唯一)自增长: auto_increment外键: foreign key   约束两种表 constraint 名 foreign key(column) references miantable(col)2)关联查询(多表查询)2.1 交叉连接(产生笛卡尔

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信图片_20190322181744_03.jpg

微信扫一扫打赏

请作者喝杯咖啡吧~

支付宝扫一扫领取红包,优惠每天领

二维码1

zhifubaohongbao.png

二维码2

zhifubaohongbao2.png