char和varchar的区别、子查询中用exists 与in的区别

1、char和varchar的区别
char 长度固定,varchar长度可变;
char的最大长度是255
char对英文字符占用1个字节、汉字占用2个字节。varchar对中英文均占用2个字节。
char设置固定长度后,比如char(10),此时写入“abc”,后面会用空格代替,占的长度依然是10。varchar的话长度是4。varchar比char节省空间,但效率不如char
对于非固定长度用varchar存储比较好。

2、用char不用varchar的场景
1、像是uuid这种固定长度的用char比较好,因为用varchar的话,varchar的动态长度的特性用不到还会占用1个byte存储信息长度。
2、varchar虽然比char节省空间,但是一个varchar列经常被修改,而且每次修改的数据长度不同,这会引起“行迁移的现象”,此时用char比较好。
3、像是比较简短的比如门牌号 101、102这种用char比较好
3、子查询中用exists 与in的区别
exists 先查外表,在将外表数据代入内查询作判断
in 是先查内表,查出来作为临时表 在和外表去查询。
因此:外表数据多用 in,外表数据少用 exists

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值