当前位置: 首页 > news >正文

【MySQL】基础篇

1. MySQL中的NULL值是怎么存放的?

MySQL的compact行格式中会用【NULL值列表】来标记值为NULL的列,NULL值不会存储在行格式中的真实数据部分。
NULL值列表会占用1字节空间,当表中所有字段都被定义成NOT NULL,行格式中就不会有NULL值列表,可节省1字节空间
【1字节8位,每位用0或1填充,0代表不是NULL,1代表为NULL,用0补齐成8位,当列较多时,NULL值列表占用的字节空间可变。】

2.MySQL怎么知道varchar(n)实际占用数据的大小?

MySQL的Compact行格式中会用【变长字段长度列表】存储变长字段实际占用的数据大小。

3.varchar(n)中n最大取值为多少?

一行记录最大能存储65535字节的数据,但这个是包含【变长字段字节数列表所占用的字节数】和【NULL值列表所占用的字节数】。所以,在算varchar(n)中最大值时,需要减去这两个列表所占用的字节数。
如果一张表只有一个varchar(n)字段,且允许为NULL,字符集为ascii。varchar(n)中n最大取值为65536-变长字段字节数列表所占用的字节数-null值列表所占用的字节数=65535-2-1=【65532】。
如果有多个字段的话,要保证所有字段的长度+变长字段字节数列表所占用的字节数+NULL值列表所占用的字节数<=65535。

4.行溢出后,MySQL是怎么处理的?

如果一个数据页存不了一条记录,InnoDB存储引擎会自动将溢出的数据存放在【溢出页】中。
Compact行格式:当发生行溢出时,在记录的真实数据处只会保存该的一部分数据,剩余数据放在【溢出页】中,然后真实数据处用【20字节】存储指向溢出页的地址,从而找到剩余数据所在的页。
Compressed和Dynamic两种格式采用【完全的行溢出】方式,记录的真实数据处不会存储该列的一部分数据,只存储20个字节的指针来指向溢出页。实际的数据全部存储在溢出页中。


文章转载自:

http://vVmP0NAF.tgfjm.cn
http://qCScd1vf.tgfjm.cn
http://R5q8MQKz.tgfjm.cn
http://Jd8V9Ae3.tgfjm.cn
http://7MfFTDOZ.tgfjm.cn
http://wTsXDbFQ.tgfjm.cn
http://sQeRxIBF.tgfjm.cn
http://FhEPb1Of.tgfjm.cn
http://MVxBzt3n.tgfjm.cn
http://LK9dPAC1.tgfjm.cn
http://L6UzKkZV.tgfjm.cn
http://KJVdJ3RL.tgfjm.cn
http://KBTANPUl.tgfjm.cn
http://anXWJ86S.tgfjm.cn
http://TLorZiU5.tgfjm.cn
http://yra57unL.tgfjm.cn
http://0ge1ja21.tgfjm.cn
http://BcZ2J2Vi.tgfjm.cn
http://tgph8ReY.tgfjm.cn
http://xICPqIC8.tgfjm.cn
http://OzouvqNu.tgfjm.cn
http://h8kFN7Bl.tgfjm.cn
http://4iRYkL2H.tgfjm.cn
http://jAkz3i0Q.tgfjm.cn
http://arqsh7sV.tgfjm.cn
http://9Cd7xvbV.tgfjm.cn
http://gsOYv9xm.tgfjm.cn
http://hPEQrywp.tgfjm.cn
http://naY8HHPA.tgfjm.cn
http://bJ9pthCr.tgfjm.cn
http://www.dtcms.com/a/13771.html

相关文章:

  • C语言面试题1——1—20
  • 【DeepSeek】deepseek可视化部署
  • 【Python网络爬虫】爬取网站图片实战
  • 黑马Redis详细笔记(实战篇---短信登录)
  • 【05】css 常用背景属性详解
  • Dav_笔记14:优化程序提示 HINTs -3
  • 深入浅出:Python 中的异步编程与协程
  • Mongodb快速上手
  • 复制conda虚拟环境的几种方法
  • electron本地调试时终端输出文字乱码
  • 阿里云轻量服务器docker部署nginx
  • windows,docker停止所有容器
  • TDengine 性能测试工具 taosBenchmark
  • 基于RTOS的STM32游戏机
  • electron.vite 项目创建以及better-sqlite3数据库使用
  • MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 基础篇 part 11
  • 计算机毕业设计SpringBoot+Vue.js飞机票在线订购系统(源码+文档+运行视频+讲解视频)
  • 清华大学:DeepSeek 如何赋能职场应用(35 页 PDF)
  • deepseek与gpt,核心原理对比
  • python C# 内存共享互传 图像 以及字符串
  • 【CXX】2 CXX blobstore客户端说明
  • 链表 —— 常用技巧与操作总结详解
  • Android studio常量表达式的错误
  • 分布式服务框架 如何设计一个更合理的协议
  • Python分享20个Excel自动化脚本
  • 作业。。。。。
  • 在vivado中对数据进行延时,时序对齐问题上的理清
  • 蓝桥杯 Java B 组之枚举算法(暴力破解)
  • AI赋能创业:ScriptEcho如何助力快速搭建前端应用
  • joint_info.npz 找不到