当前位置:首页 > 科技  > 软件

对线面试官-CHAR和VARCHAR了解嘛,区别是什么

来源: 责编: 时间:2024-04-16 08:31:57 285观看
导读面试官:我看你们项目上用的是MySQL,相关的类型了解吗?派大星:嗯,了解一些。面试官:嗯,那你知道char和varchar的区别是什么嘛?简单说一说。派大星:好的。首先,CHAR和VARCHAR均为数据库中用于存储字符串数据的数据类型。它们之间

面试官:我看你们项目上用的是MySQL,相关的类型了解吗?EHo28资讯网——每日最新资讯28at.com

派大星:嗯,了解一些。EHo28资讯网——每日最新资讯28at.com

面试官:嗯,那你知道char和varchar的区别是什么嘛?简单说一说。EHo28资讯网——每日最新资讯28at.com

派大星:好的。EHo28资讯网——每日最新资讯28at.com

首先,CHAR和VARCHAR均为数据库中用于存储字符串数据的数据类型。它们之间的主要区别在于存储空间的使用方式。EHo28资讯网——每日最新资讯28at.com

比如:CHAR为一种定长数据类型,其长度固定且在存储时会自动加入空格以填满指定长度,长度范围为0至255;EHo28资讯网——每日最新资讯28at.com

EHo28资讯网——每日最新资讯28at.com

VARCHAR则为一种可变长度数据类型,仅存储实际的字符串内容,无需填充空格。故在存储短字符串时,VARCHAR能够节省空间,长度范围为0至65535(适用于MySQL 5.0.3及之后版本)。EHo28资讯网——每日最新资讯28at.com

若采用CHAR(100),插入记录后即分配了100个字符,后续修改不引起页分裂问题;而VARCHAR(100)因未预分配存储空间,初始插入数据时,可变长度字段按实际长度储存,且数据在文件中紧密连续。若值变长,原位置无法扩展,无法覆盖原空间,MySQL将采用页分裂方式扩展字段的长度。EHo28资讯网——每日最新资讯28at.com

面试官:不错,既然这样,它俩在使用的时候有什么有缺点呢?EHo28资讯网——每日最新资讯28at.com

派大星:EHo28资讯网——每日最新资讯28at.com

VARCHAR的优势:在于其可变长度的字符类型,具有更好的兼容性;然而,使用VARCHAR可能引发内存碎片问题,需要额外1到2个字节存储长度信息,并更新语句可能导致页分裂等情况。EHo28资讯网——每日最新资讯28at.com

EHo28资讯网——每日最新资讯28at.com

EHo28资讯网——每日最新资讯28at.com

举例来说,适合使用VARCHAR的场景包括存储产品描述(可变长度)、用户地址(可变长度)以及用户名称(可变长度)。EHo28资讯网——每日最新资讯28at.com

CHAR的长处在于其定长字符串类型,有助于减少内存碎片,并无需额外的磁盘空间来存储长度信息;但其短板在于会消除列末尾的空格信息。EHo28资讯网——每日最新资讯28at.com

CHAR在长度不足时会补充空格,因此,当在一个长度为10的CHAR中分别存储"paidaxing "和"paidaxing"时,实际存储的均为"paidaxing    ",导致原空格信息丧失。EHo28资讯网——每日最新资讯28at.com

举例来说,适合使用CHAR的情境包括存储身份证号(固定长度)、订单号(固定长度)以及国家编码(固定长度)。EHo28资讯网——每日最新资讯28at.com

面试官:挺好,看来确实掌握的不错。EHo28资讯网——每日最新资讯28at.com

派大星:嘿嘿,谢谢,就是在使用过程中有去比较了解过。毕竟如果在设计索引的时候需要考虑,具体的索引设计原则以及优化慢SQL可参考历史文章:EHo28资讯网——每日最新资讯28at.com

日活3kw下,如何应对实际业务场景中SQL过慢的优化挑战?EHo28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-83781-0.html对线面试官-CHAR和VARCHAR了解嘛,区别是什么

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 聊聊架构设计流程:识别复杂度

下一篇: 实战:如何编写一个 OpenTelemetry Extensions

标签:
  • 热门焦点
  • 中兴AX5400Pro+上手体验:再升级 双2.5G网口+USB 3.0这次全都有

    2021年11月的时候,中兴先后发布了两款路由器产品,中兴AX5400和中兴AX5400 Pro,从产品命名上就不难看出这是隶属于同一系列的,但在外观设计上这两款产品可以说是完全没一点关系
  • CSS单标签实现转转logo

    转转品牌升级后更新了全新的Logo,今天我们用纯CSS来实现转转的新Logo,为了有一定的挑战性,这里我们只使用一个标签实现,将最大化的使用CSS能力完成Logo的绘制与动画效果。新logo
  • K8S | Service服务发现

    一、背景在微服务架构中,这里以开发环境「Dev」为基础来描述,在K8S集群中通常会开放:路由网关、注册中心、配置中心等相关服务,可以被集群外部访问;图片对于测试「Tes」环境或者
  • 量化指标是与非:挽救被量化指标扼杀的技术团队

    作者 | 刘新翠整理 | 徐杰承本文整理自快狗打车技术总监刘新翠在WOT2023大会上的主题分享,更多精彩内容及现场PPT,请关注51CTO技术栈公众号,发消息【WOT2023PPT】即可直接领取
  • .NET 程序的 GDI 句柄泄露的再反思

    一、背景1. 讲故事上个月我写过一篇 如何洞察 C# 程序的 GDI 句柄泄露 文章,当时用的是 GDIView + WinDbg 把问题搞定,前者用来定位泄露资源,后者用来定位泄露代码,后面有朋友反
  • 重估百度丨“晚熟”的百度云,能等到春天吗?

    ©自象限原创作者|程心排版|王喻可2016年7月13日,百度云计算战略发布会在北京举行,宣告着百度智能云的正式启程。彼时的会场座无虚席,甚至排队排到了门外,在场的所有人几乎都
  • 中国家电海外掘金正当时|出海专题

    作者|吴南南编辑|胡展嘉运营|陈佳慧出品|零态LT(ID:LingTai_LT)2023年,出海市场战况空前,中国创业者在海外纷纷摩拳擦掌,以期能够把中国的商业模式、创业理念、战略打法输出海外,他们依
  • 华为Mate 60保护壳曝光:硕大后置相机模组 凸起程度有惊喜

    这段时间以来,关于华为新旗舰的爆料日渐密集。据此前多方爆料,今年华为将开始恢复一年双旗舰战略,除上半年推出的P60系列外,往年下半年的Mate系列也将
  • 首发天玑9200+ iQOO Neo8系列发布首销售价2299元起

    2023年5月23日晚,iQOO Neo8系列正式发布。其中,Neo系列首款Pro之作——iQOO Neo8 Pro强悍登场,限时售价3099元起;价位段最强性能手机iQOO Neo8同期上市
Top