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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

标签:
  • 热门焦点
  • 红魔电竞平板评测:大屏幕硬实力

    前言:三年的疫情因为要上网课的原因激活了平板市场,如今网课的时代已经过去,大家的生活都恢复到了正轨,这也就意味着,真正考验平板电脑生存的环境来了。也就是面对着这种残酷的
  • Flowable工作流引擎的科普与实践

    一.引言当我们在日常工作和业务中需要进行各种审批流程时,可能会面临一系列技术和业务上的挑战。手动处理这些审批流程可能会导致开发成本的增加以及业务复杂度的上升。在这
  • JavaScript学习 -AES加密算法

    引言在当今数字化时代,前端应用程序扮演着重要角色,用户的敏感数据经常在前端进行加密和解密操作。然而,这样的操作在网络传输和存储中可能会受到恶意攻击的威胁。为了确保数据
  • 共享单车的故事讲到哪了?

    来源丨海克财经与共享充电宝相差不多,共享单车已很久没有被国内热点新闻关照到了。除了一再涨价和用户直呼用不起了。近日多家媒体再发报道称,成都、天津、郑州等地多个共享单
  • 得物宠物生意「狂飙」,发力“它经济”

    作者|花花小萌主近日,得物宣布正式上线宠物鉴别,通过得物App内的“在线鉴别”,可找到鉴别宠物的选项。通过上传自家宠物的部位细节,就能收获拥有专业资质认证的得物鉴
  • 华为发布HarmonyOS 4:更好玩、更流畅、更安全

    在8月4日的华为开发者大会2023(HDC.Together)大会上,HarmonyOS 4正式发布。自2019年发布以来,HarmonyOS一直以用户为中心,经历四年多的发展HarmonyOS已
  • 华为Mate 60保护壳曝光:硕大后置相机模组 凸起程度有惊喜

    这段时间以来,关于华为新旗舰的爆料日渐密集。据此前多方爆料,今年华为将开始恢复一年双旗舰战略,除上半年推出的P60系列外,往年下半年的Mate系列也将
  • 机构称Q2国内智能手机销量同比下滑4% vivo份额重回第1

    7月29日消息,根据市场调查机构Counterpoint Research公布的最新报告,2023年第2季度中国智能手机销量同比下降4%,创新自2014年以来第2季度销量新低。报
  • 到手价3099元起!iQOO Neo8 Pro今日首销:安卓性能最强旗舰

    5月23日,iQOO如期举行了新品发布会,全新的iQOO Neo8系列也正式与大家见面,包含iQOO Neo8和iQOO Neo8 Pro两个版本,其中标准版搭载高通骁龙8+,而Pro版更
Top