二面字节被问到VARCHAR(M) 到底占用多少个字节?我跟面试官硬刚了半小时

2023-11-19

前言

这个问题其实很有迷惑性,问的是字节,不是字符,我们知道在计算机中只能存储二进制数据。所以要搞清楚这个问题?就要搞清楚下面2个问题:

  • 1.字节和字符的对应关系。

  • 2.varchar 到底能存多少个字节。

为了搞清楚上面两个问题,又必须搞清楚mysql 的字符集 和比较规则,以及mysql记录的存储结构。这里我们都是以常用的InnoDB引擎为讨论的前提的。

如果你了解了上面的问题,你也可以回答下面的问题

  • 1.乱码问题是怎么产生的呢?

  • 2.mysql 有时候为什么不区分大小写?

字符集和排序规则

计算机中的的落盘存储都是二进制数据:即bit。所以我们存储字符串的话就要建立字符与二进制数据的映射关系了。

将一个字符映射成一个二进制数据的过程也叫做编码,将一个二进制数据映射到一个字符的过程叫做解码。mysql抽象出一个概念来描述某个字符范围的编码规则 ,这个概念就叫 字符集。

比如:

字符范围:
'a''b''A''B'。

编码规则:
'a' 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

二面字节被问到VARCHAR(M) 到底占用多少个字节?我跟面试官硬刚了半小时 的相关文章

随机推荐

  • 《大型网站技术架构设计》第二篇 架构-性能

    不同视角下的网站性能 1 用户 从用户角度 网站性能就是用户在浏览器上直观感受到的网站响应速度快还是慢 用户感受到的时间 2 开发人员 开发人员关注的主要是应用程序本身及其相关子系统的性能 包括响应延迟 系统吞吐量 并发处理能力 系统稳定性
  • openwrt软路由重置firstboot重启reboot关机poweroff

    重置 恢复出厂设置 先执行firstboot命令 再执行reboot命令 过了几秒钟才会响应 重启设备 执行reboot命令 设备关机 执行poweroff命令
  • 林木的第一篇博客——A New Beginning

    大家好 我是一名就读于TAYLOR S UNIVERSITY 的学生 大学主专业是计算机科学 很高兴认识大家 从今天开始我将开始学习C语言 以及跟计算机有关的一切 并在每周天把心得和知识分享出来 和大家一起学习进步 很荣幸跟大家一起学习 1
  • “千年虫”,计算机的巨大BUG!

    作者 十三侃娱乐 说起来 现在社会科技中 除了真正学过计算机专业的人 大部分人对于 千年虫 这个称号都有些陌生 甚至有些人连听都没听过 不知道的网友听到 虫 这个字可能还会脑补出一大堆不明生物的样子 但其实 千年虫 并不是一种生物 而是一种
  • LitCTF部分题目WP(Virginia,ping,SQL)

    目录 校外 Virginia ping 这是什么 SQL 注一下 校外 Virginia 维吉尼亚 想到维吉尼亚解码但没有key就爆破key Vigenere Solver guballa de key flag 发现解码出来的还有一部分是
  • 六边形地图生成(1)——基础地形

    看了大佬的六边形地图教程 跟着原教程敲了一遍代码 使用的引擎是unity 想把六边形地形的生成思路记录下来 1 基础六边形网格 基础网格很容易绘制 六个边缘点 一个中心点 如何在引擎中绘制动态网格网上一搜一大把 这里就不介绍了 2 边缘扰动
  • maya中adv插件绑定1

    一 导入模型 复制ctrl D 添加名称前缀 创建混合变形 平行选项 二 摆放adv骨骼 最好模型单独创建一个层 导入adv骨骼 1 对齐骨骼 腿部 最好是在正交视图下操作 2 对齐手臂部分 对齐到手腕即可 手指不用对 3 对齐头部 小技巧
  • Qt 实现鼠标拖动控件

    在QT项目中 窗口设置 setWindowFlags Qt FramelessWindowHint 之后 就无法拖动 所以会自定义一个menubar控件 并实现窗口拖动 效果如上图 上代码 include
  • 经典C语言程序之 C/C++:计算两个整数的和

    经典C语言程序之 C C 计算两个整数的和 在C C 编程中 计算两个整数的和是一个经典的问题 本文将介绍如何使用C语言编写一个简单的程序来实现这一功能 首先 我们需要定义两个整数变量来存储用户输入的值 并用scanf函数从用户处获取这些值
  • VSCode如何设置终端工作目录

    文章目录 前言 固定工作目录 Terminal Here 注意 前言 相信大家在使用VSCode的时候 都会有如下难受的感觉 每次打开终端的时候工作目录都是用户目录 如果要执行命令还得cd到当前文件夹 十分麻烦 为了提高工作效率 有必要设置
  • 算法------大整数

    大整数 1 大整数加法 include
  • freebsd 做文件服务器,freebsd文件服务器

    freebsd文件服务器 内容精选 换一换 FTP SFTP连接适用于从线下文件服务器或ECS服务器上迁移文件到OBS或数据库 当前仅支持Linux操作系统的FTP 服务器 连接FTP或SFTP服务器时 他们的连接参数相同 如表1所示 FT
  • <Linux开发>linux开发工具- 之-开发使用linux命令记录

    Linux开发 linux开发工具 之 开发使用linux命令记录 本文章主要记录开发过程中涉及使用的linux命令 1 查看磁盘大小分区情况 命令 df hl 可查看分区的路径 及空间大小使用情况 以及挂在点位置 2 查看指定目录文件的大
  • unity点击按钮,弹出image和Text做的弹出框

    让弹出框开始不显示 点击按钮后显示 在Hierarchy面板上新建Image 下面我命名为win 再在上面放置Image和Text组成弹出框 如下图 建立一个Message脚本 using System Collections using
  • [毕业设计]C++程序类内聚度的计算与存储

    目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越来越难 有不少课题是研究生级别难度
  • PLSQL 基础语法

    01 PLSQL 语法 变量 if loop cursor exception 1 语法 在数据库服务器上保存的打断可执行方法 供其他开发人员调用 可以有效的减少数据库端和服务端的数据交互 提高效率 降低带宽消耗 语法格式 declare
  • 网络工程毕业设计题目100例

    文章目录 0 简介 1 如何选题 2 最新网络工程选题 2 1 Java web SSM 系统 2 2 大数据方向 2 3 人工智能方向 2 4 其他方向 4 最后 0 简介 丹成学长 搜集分享最新的网络工程专业毕设毕设选题 难度适中 适合
  • Microsemi Libero系列教程(七)——SmartDebug的使用

    SmartDebug简介 SmartDebug的使用 ActiveProbe使用
  • VMware无法创建共享文件夹

    1 Linux安装VM 1 chmod x VMware Workstation Full 14 1 3 9474260 x86 64 1 bundle 赋予执行权限 2 VMware Workstation Full 14 1 3 947
  • 二面字节被问到VARCHAR(M) 到底占用多少个字节?我跟面试官硬刚了半小时

    前言 这个问题其实很有迷惑性 问的是字节 不是字符 我们知道在计算机中只能存储二进制数据 所以要搞清楚这个问题 就要搞清楚下面2个问题 1 字节和字符的对应关系 2 varchar 到底能存多少个字节 为了搞清楚上面两个问题 又必须搞清楚m