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

日产精品一线二线三线芒果搜外seo视频 网络营销免费视频课程

日产精品一线二线三线芒果,搜外seo视频 网络营销免费视频课程,如果网站没有icp备案号,中信建设有限责任公司国内区事业部我们知道 Compact 行格式在 CHAR(M) 类型的列中存储数据的时候还挺麻烦,分变长字符集和定长字符集的情况,而在 Redundant 行格式中十分干脆,不管该列使用的字符集是啥,只要是使用 CHAR(M) 类型,占用的真实数据空间就是…

我们知道 Compact 行格式在 CHAR(M) 类型的列中存储数据的时候还挺麻烦,分变长字符集和定长字符集的情况,而在 Redundant 行格式中十分干脆,不管该列使用的字符集是啥,只要是使用 CHAR(M) 类型,占用的真实数据空间就是该字符集表示一个字符最多需要的字节数和 M 的乘积。比方说使用 utf8 字符集的 CHAR(10) 类型的列占用的真实数据空间始终为 30 个字节,使用 gbk 字符集的 CHAR(10) 类型的列占用的真实数据空间始终为 20 个字节。由此可以看出来,使用 Redundant 行格式的 CHAR(M) 类型的列是不会产生碎片的。

4.3.4 行溢出数据

4.3.4.1 VARCHAR(M)最多能存储的数据

我们知道对于 VARCHAR(M) 类型的列最多可以占用 65535 个字节。其中的 M 代表该类型最多存储的字符数量,如果我们使用 ascii 字符集的话,一个字符就代表一个字节,我们看看 VARCHAR(65535) 是否可用:

从报错信息里可以看出, MySQL 对一条记录占用的最大存储空间是有限制的,除了 BLOB 或者 TEXT 类型的列之外,其他所有的列(不包括隐藏列和记录头信息)占用的字节长度加起来不能超过 65535 个字节。所以 MySQL 服务器建议我们把存储类型改为 TEXT 或者 BLOB 的类型。这个 65535 个字节除了列本身的数据之外,还包括一些其他的数据( storage overhead ),比如说我们为了存储一个 VARCHAR(M) 类型的列,其实需要占用3部分存储空间:

真实数据

真实数据占用字节的长度

NULL 值标识,如果该列有 NOT NULL 属性则可以没有这部分存储空间

如果 VARCHAR 类型的列有 NOT NULL 属性,那最多只能存储 65533 个字节的数据,因为真实数据的长度可能占用2个字节,不需要 NULL 值标识:

4.3.4.2 记录中的数据太多产生的溢出

我们以 ascii 字符集下的 varchar_size_demo 表为例,插入一条记录:

其中的 REPEAT('a', 65532) 是一个函数调用,它表示生成一个把字符 'a' 重复 65532 次的字符串。前边说过, MySQL 中磁盘和内存交互的基本单位是 页 ,也就是说 MySQL 是以 页 为基本单位来管理存储空间的,我们的记录都会被分配到某个 页 中存储。而一个页的大小一般是 16KB ,也就是 16384 字节,而一个 VARCHAR(M) 类型的列就最多可以存储 65532 个字节,这样就可能造成一个页存放不了一条记录的尴尬情况。

在 Compact 和 Reduntant 行格式中,对于占用存储空间非常大的列,在 记录的真实数据 处只会存储该列的一部分数据,把剩余的数据分散存储在几个其他的页中,然后 记录的真实数据 处用20个字节存储指向这些页的地址(当然这20个字节中还包括这些分散在其他页面中的数据的占用的字节数),从而可以找到剩余数据所在的页,如图所示:

从图中可以看出来,对于 Compact 和 Reduntant 行格式来说,如果某一列中的数据非常多的话,在本记录的真实数据处只会存储该列的前 768 个字节的数据和一个指向其他页的地址,然后把剩下的数据存放到其他页中,这个过程也叫做 行溢出 ,存储超出 768 字节的那些页面也被称为 溢出页 。

4.4 总结

1. 页是 MySQL 中磁盘和内存交互的基本单位,也是 MySQL 是管理存储空间的基本单位。

2. 指定和修改行格式的语法如下:

CREATE TABLE 表名 (列的信息) ROW_FORMAT=行格式名称
ALTER TABLE 表名 ROW_FORMAT=行格式名称

3. InnoDB 目前定义了4种行格式

COMPACT行格式

具体组成如图:

Redundant行格式

具体组成如图:

Dynamic和Compressed行格式

这两种行格式类似于 COMPACT行格式 ,只不过在处理行溢出数据时有点儿分歧,它们不会在记录的真实数据处存储字符串的前768个字节,而是把所有的字节都存储到其他页面中,只在记录的真实数据处存储其他页面的地址。

另外, Compressed 行格式会采用压缩算法对页面进行压缩。

4. 一个页一般是 16KB ,当记录中的数据太多,当前页放不下的时候,会把多余的数据存储到其他页中,这种现象称为 行溢出 。

http://www.pjxw.cn/news/25758.html

相关文章:

  • linux 网站目录权限设置奶糖 seo 博客
  • 电商网站开发进度表美国疫情最新消息
  • 南京电商网站建设公司网站建设首页
  • 外卖网站开发免费seo教程
  • 优秀个人网站设计2023年重大时政热点
  • 有网页源码怎么做网站网页seo搜索引擎优化
  • 网站用什么做网站标题优化排名
  • 网站建设和管理维护企业站seo
  • 淘宝接单做网站seo软件资源
  • 做网站如何在百度快照上排名武汉网络推广外包公司
  • 网站建设公司类型东莞网络营销推广公司
  • 什么网站做外贸好广告公司经营范围
  • 泰安网站建设哪家强百度建站平台官网
  • 网站兼容性怎么解决搜索量最大的关键词
  • 六日做兼职的网站江苏seo和网络推广
  • 临沂网站建设铭镇外贸推广是做什么的
  • 做现货值得关注的财经网站手机端关键词排名优化软件
  • 深圳市门户网站建设哪家好危机公关处理
  • 如何设置免费网站微信拓客的最新方法
  • 2016年建设网站赚钱吗百度竞价开户公司
  • 手机端的网站怎么做营销广告网站
  • 丹阳网站制作天天seo站长工具
  • 不懂开发如何建设网站atp最新排名
  • 做网站域名备案需要多久网络推广有哪些常见的推广方法
  • 网站建设偶像整站seo
  • php做视频网站有哪些软件下载如何制作网址链接
  • 试卷网站在线做百度免费发布信息网站
  • b2b网站类型有哪些seo搜索优化是什么
  • 做黄色网站多少年收录优美图片找不到了
  • 铜陵app网站做招聘东莞做网站排名优化推广