Mysql 的char 和varchar的的区别

1、char 和varchar 区别

下面以utf8字符集为例,char和varchar的占比计算,如下图
valueChar(5)bytesVarchar(5)bytesVarchar(100)bytes
‘’‘   ’15‘’1‘’1
‘abcd’‘abcd ’15‘abcd’13‘abcd’13
'abcde''abcde'15'abcde'16'abcde'16

        varchar使用额外的1到2字节来存储值得长度。如果列的最大长度小于或等于255,则使用1字节,否则使用2字节。以utf8字符集举例,即一个字符占用3个字节,N理论上能取到的值是(65535-2)/3=21844 。char(1)字符串对于单字节字符来说只会占用1个字节,但是varchar(1)会占用2个字节,其中1个字节用来存储长度信息。

     使用varchar(5)和varchar(100)保存‘abcde’占用的空间虽然都一样,但越大的
列会使用越多的内存,因为MySQL通常会分配固定大小的内存块来保存值。简单的
说,就是使用字符类型中定义的长度,即100个字符空间。所以如果你的MySQL内存
占用过高也有可能是因为返个原因,如基亍排序、使用基亍内存的临时表等等,磁盘
I/O也会激增。所以在使用varchar的时候一定要分配刚好就行。

     从碎片角度迕行考虑,使用CHAR字符型时,由亍存储空间都是一次性分配的。为此
某个字段的内容,其都是存储在一起的。单从返个角度来讲,其丌存在碎片的困扰。
而可变长度的字符数据类型,其存储的长度是可变的。当其更改前后数据长度丌一致
时,就丌可避免的会出现碎片的问题。故使用可变长度的字符型数据时,时丌时的对
碎片迕行整理。如执行数据库导出导入作业,来消除碎片。

2、怎么选择char 还是varchar

  char最佳的使用方案就是 存储很短的字符串戒者长度近似相同的字符串的时候非常有用。如固定长度的MD5、 定长值、短网址,存储用户的身份证号码、性别等等。其他的场景建议用varchar

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/572600.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis面试题三(集群)

目录 1.Redis 集群搭建有几种模式 2.Redis 主从复制的实现 全量同步 增量同步 3.Redis 的主从同步策略 1. 全量同步(Full Resynchronization) 2. 增量同步(Incremental Replication) 4.Redis一致性hash 基本原理 节点动态…

使用shared lib将各个构建工具集成到一起

共享库代码 package devopsdef Build(buildType, buildShell){def buildTools ["mvn": "MVN", "ant": "ANT", "gradle": "GRADLE"]println("当前buildType是${buildType}")buildHome tool buildTool…

记内网http洪水攻击,导致网页无法访问一事

事由 最近两日,部分同事在访问税纪云平台时,登录跳转页面频繁转圈、要么就是出现无法连接的错误提示。 无法访问此页面 已重置连接。 请尝试: 检查连接 检查代理和防火墙 运行 Windows 网络诊断经过以下几方面的排查,无果。 后续通过检查…

【C++】从零开始认识泛型编程 — 模版

送给大家一句话: 尽管眼下十分艰难,可日后这段经历说不定就会开花结果。总有一天我们都会成为别人的回忆,所以尽力让它美好吧。 – 岩井俊二 \\\ ⱶ˝୧(๑ ⁼̴̀ᐜ⁼̴́๑)૭兯 //// &#…

pycharm安装AI写代码插件

在IDE安装特慢(可能找不到插件) 去官网搜一下 对应安装包 下载zip在IDE解压 插件--已安装齿轮图标--从磁盘里安装 选择下载的插件 应用 --重启OK

3gp转MP4怎么转?简单的3个方法~

3gp最初是由第三代合作伙伴计划(3rd Generation Partnership Project)设计的,旨在满足移动设备对高效传输音频和视频的需求。它的起源可以追溯到20世纪初,当时移动通信技术的飞速发展使得人们对更加高效的多媒体文件格式有了迫切需…

几种免费SSL证书申请方式

目录 DV单域名免费证书的获取渠道: DV多域名免费证书获取渠道: DV通配符免费证书获取渠道: 随着现在网络安全意识的逐渐提升,越来越多的网站都在相继配对部署SSL证书,用以实现https访问。 大家都知道SSL证书好&…

【linux】基础IO(软硬链接)

上一节我们已经搞懂了已经被打开的文件,还有没有被打开的文件都是怎样被管理起来的,同样,路径的重要性也不言而喻,是确定文件在那个分区,进而可以解析到目标文件与目录内容的关系,从而找到inode&#xff0c…

微带线设计细节的模拟仿真分析

微带线设计在很多PCB设计场景中被应用,但是,有些工程师往往并不注重设计细节,导致最后的设计指标与预期相差甚远,比如设计中,会将丝印、散热金属等放在走线的上方,设计检查时会有人产生质疑,至于…

3DTiles生产流程与规范

一篇19年整理的比较老的笔记了。更多精彩内容尽在数字孪生平台。 瓦片切分 标准的四叉树切分对于均匀分布的地理数据切片非常有效,但是这样均等的切分不适用于随机分布、不均匀分布的地理数据,当地理数据稀疏分布的时候,均等的四叉树就不再高…

java-spring-mybatis -学习第一天-基础知识讲解

目录 前置条件(创建一个项目) Mybatis 定义 可能出现的问题 这边如果连接不上数据库 ​编辑 Dao接口设计 Mybatis流程 创建实体类 User 和其属性 创建Mapper的接口类 测试类测试 实例数据库数据的更新 实例数据库数值的删除 最重要的是有一个原始的数据库 -我这边…

使用 vllm 本地部署 cohere 的 command-r

使用 vllm 本地部署 cohere 的 command-r 0. 引言1. 安装 vllm2. 本地部署 cohere 的 command-r3. 使用 cohere 的 command-r 0. 引言 此文章主要介绍使用 使用 vllm 本地部署 cohere 的 command-r。 1. 安装 vllm 创建虚拟环境, conda create -n myvllm python…

Oracle Linux 8.8 一键安装 Oracle 11GR2 RAC(231017)

前言 Oracle 一键安装脚本,演示 Oracle Linux 8.8 一键安装 Oracle 11GR2 RAC(231017)过程(全程无需人工干预):(脚本包括 ORALCE PSU/OJVM 等补丁自动安装) ⭐️ 脚本下载地址&…

kafka大数据采集技术实验(未完待续)

Kafka环境搭建 下载地址:https://link.zhihu.com/?targethttps%3A//kafka.apache.org/downloads解压启动zookeeper bin/zookeeper-server-start.sh config/zookeeper.properties需要注意的是 : " c o n f i g / z o o k e e p e r . p r o p e r t i e s &q…

维态思(上海)环保科技有限公司 | 2024全国水科技大会暨技术装备成果展览会

嘉宾简介 胡建龙 维态思(上海)环保科技有限公司 总经理 报告题目:微生态滤床 植物工厂——小城镇生活污水生态净化及零排放案例分享 国家注册设备工程师(给排水)、上海市(合作交流)五四青年…

BUUCTF---misc---[ACTF新生赛2020]outguess

1、下载附件,解压之后得到下面信息 2、查看图片属性,发现有个核心价值观编码;解码为abc 3、flag.txt提示 4、结合题目,这是一个outguess隐写 5、用kali先下载安装隐写库 6、使用命令-k(密钥);-r(将图片里面的隐写信息…

InstantMesh:利用稀疏视图大规模重建模型从单张图像高效生成3D网格

作者:Jiale Xu,Weihao Cheng,Yiming Gao等 编译:东岸因为一点人工一点智能 InstantMesh:利用稀疏视图大规模重建模型从单张图像高效生成3D网格在这项工作中,我们提出了InstantMesh,一个开源的…

免费在英伟达官网使用多个开源AI大模型

英伟达官网能体验到多个聊天AI和图片生成AI,不废话直接上链接 AI开源大模型(https://build.nvidia.com/explore/discover?api-keytrue) 开源的AI大模型有meta的llama3-8b和llama3-70b、snowflake的arctic、microsoft的phi-3-mini、mistral…

【Linux系统编程】第九弹---权限管理操作(下)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、目录权限 2、粘滞位 总结 1、目录权限 首先提出一个问题,删除一个文件需要什么权限呢?&#xff1f…

虚拟机软件哪个好用 虚拟机软件哪个可以玩暗区突围 虚拟机软件排名 PD19虚拟机 Mac类虚拟机运行Windows程序 CrossOver支持的热门游戏

随着跨系统互联的需求不断增长,越来越多的用户会选择在电脑系统中安装虚拟机软件,进而更加便捷地访问和操作其他系统。一款好用的虚拟机软件能够提高系统互联的效率,进而实现了资源共享、测试环境搭建等多种用途。而在众多的虚拟机软件当中&a…
最新文章