以下的文章主要介绍的是如何正确掌握MySQL数据库中动态表的特征,可以说动态表在MySQL数据库中使用频率还是很大的,所以MySQL数据库中动态表的掌握也是一件很重要的事情,以下就是文章的具体内容。

如果一个MyISAM表包含任何可变长度列(VARCHAR, BLOB或TEXTDynamic),或者如果一个表被用ROW_FORMAT=DYNAMIC选项来创建,动态存储格式被使用。

这个格式更为复杂一点,因为每行有一个表明行有多长的头。当一个记录因为更新的结果被变得更长,该记录也可以在超过一个位置处结束。

你可以使用OPTIMIZE TABLE或myisamchk来对一个表整理碎片。如果在一个表中有你频繁访问或改变的固定长度列,表中也有一些可变长度列,仅为避免碎片而把这些可变长度列移到其它表可能是一个好主意。

MySQL数据库动态格式表的一般特征:

除了长度少于4的列外,所有的字符串列是动态的。

在每个记录前面是一个位图,该位图表明哪一列包含空字符串(对于字符串列)或者0(对于数字列)。注意,这并不包括包含NULL值的列。如果一个字符列在拖曳空间移除后长度为零,或者一个数字列为零值,这都在位图中标注了且列不被保存到磁盘。 非空字符串被存为一个长度字节加字符串的内容。

通常比固定长度表需要更少的磁盘空间。

每个记录仅使用必需大小的空间。尽管如此,如果一个记录变大,它就按需要被分开成多片,造成记录碎片的后果。比如,你用扩展行长度的信息更新一行,该行就变得有碎片。在这种情况下,你可以时不时运行OPTIMIZE TABLE或myisamchk -r来改善性能。可使用myisamchk -ei来获取表的统计数据。

动态格式表在崩溃后要比静态格式表更难重建,因为一个记录可能被分为多个碎片且链接(碎片)可能被丢失。

动态尺寸记录期望的行长度用下列表达式来计算:

·3

·+ (number of columns + 7) / 8

·+ (number of char columns)

·+ (packed size of numeric columns)

·+ (length of strings)

·+ (number of NULL columns + 7) / 8

对每个链接需要额外的6字节。在一个更新导致一个记录的扩大之时,一个动态记录被链接了。每个新链接至少是20字节,所以下一个扩大可能在同样的链接里进行。如果不是,则另一个链接将被建立。你可以使用myisamchk -ed来找出链接的数目。所有的链接可以用myisamchk -r来移除。

以上的相关内容就是对怎样掌握MySQL数据库中动态表特征的介绍,望你能有所收获。

【编辑推荐】

【责任编辑:孙巧华 TEL:(010)68476606】

点赞 0

mysql数据库特征_如何掌握MySQL数据库中动态表的特征相关推荐

  1. 怎么监控mysql数据变化_实时监控mysql数据库变化

    对于二次开发来说,很大一部分就找找文件和找数据库的变化情况 对于数据库变化.还没有发现比较好用的监控数据库变化监控软件. 今天,我就给大家介绍一个如何使用mysql自带的功能监控数据库变化 1.打开数 ...

  2. 监控mysql数据库 更新_实时监控mysql数据库变化

    对于二次开发来说,很大一部分就找找文件和找数据库的变化情况 对于数据库变化.还没有发现比较好用的监控数据库变化监控软件. 今天,我就给大家介绍一个如何使用mysql自带的功能监控数据库变化 1.打开数 ...

  3. 阿里mysql连接数据库服务器配置_配置链接mysql数据库

    本文档介绍如何使用Sqoop工具实现文件存储HDFS和关系型数据库MySQL之间的双向数据迁移. 背景信息 Sqoop是一款开源的工具,主要用于在Hadoop和结构化数据存储(如关系数据库)之间高效传 ...

  4. 阿里mysql数据库同步_如何对MySQL数据库中的数据进行实时同步-阿里云开发者社区...

    数据传输(Data Transmission) 支持以数据库为核心的结构化存储产品之间的数据传输. 它是一种集数据迁移.数据订阅及数据实时同步于一体的数据传输服务.数据传输致力于在公有云.混合云场景下 ...

  5. mysql 磁盘限额_为Linux MySQL数据库设置磁盘限额

    因为MySQL数据库本身没有磁盘限额的功能,我们可以限制Linux自带的quota工具为mysql进行磁盘限额. 1.首先需要为/home自动挂载一个分区,并且设置为quota磁盘格式.我们以用户fo ...

  6. mysql数据库 支付_如何管理MySQL数据库?

    A:MYSQL数据库的管理方式如下: 首先下载PhpMyAdmin软件,将此文件包解压,找到其中的一个文件:config.inc.php(或者如config.*等, 该文件名会因phpmyadmin版 ...

  7. endnote初始化数据库支持_服务端编程——数据库(MySQL、sequelize) - 天生笑点低你奈我何...

    一.数据库 前端发送api请求的流程 通过API发送请求,到model进行业务处理,将数据存到或在MYSQL查询,将数据一并给KOA服务器请求,最后将请求的结果返回给客户端 关系型数据库.非关系型数据 ...

  8. 删除安装的mysql数据库文件_安装/删除MySQL数据库

    安装包我会放在本文的底部,如果需要自取 MySQL的数据存储目录为data,data目录通常在C:\Documents and Settings\All Users\Application Data\ ...

  9. mysql数据库实战_主题:MySQL数据库操作实战

    昨天项目发布,要做数据移行,要实现的功能很变态,时间很紧迫,基本上是使出了全身解数,才能有快又准地完成工作,期间发现很多小技巧串联起来使用,效果的确非常好. 武器: 1 mysqldump+mysql ...

最新文章

  1. shell脚本编程之函数
  2. 认识DOM的三大节点:元素节点,文本节点,属性节点以及nodeName,nodeType,nodeValue的区别
  3. boost::contract模块实现vector的测试程序
  4. xilinx SoC学习笔记之PetaLinux
  5. deletion in request load scenario
  6. [react] 请说说什么是useRef?
  7. ubuntu 10.10 添加系统调用的方法
  8. POJ 2236 Wireless Network
  9. VC通过函数名调用DLL的标准范例
  10. Doom启示录(一)---李乃峰所崇拜之 两个约翰!
  11. 设计模式之工厂模式类图
  12. 2018年南京公积金贷款新政答疑来了!首套房最高可贷50万元/人(附首套房认定标准)...
  13. Python基础了解 python自带IDLE编译
  14. 爬取公众号的文章,同时处理图片不显示问题(JAVA)
  15. 2017年终总结,2018首次送书!
  16. 代币标准--ERC1155协议源码解析
  17. pip被卸载了,如何再重新安装
  18. 对于试衣网的一点看法
  19. 自考02324离散数学第一章思维导图
  20. 菜鸟Postman的使用教程

热门文章

  1. [SQL Server]用于压力测试和性能分析的两个支持实用工具[转]
  2. 电脑上mysql数据库无法登录_无法远程登入MySQL数据库的几种解决办法MySQL综合 -电脑资料...
  3. python中数字和字符串可以直接相加_用c语言或者python将文件中特定字符串后面的数字相加...
  4. python编程首选_为什么说学编程首选是python
  5. 携程Docker实践
  6. ebnf范式_使用Scala基于词法单元的解析器定制EBNF范式文法解析
  7. opencv画框返回坐标 python_[python]依靠pynput和pyautogui替换ahk
  8. java clock计时_Java Clock类| systemDefaultZone()方法与示例
  9. discuz mysql 类_discuz7 phpMysql操作类
  10. 华为笔记本计算机在哪,新一代华为MateBook 的机会在哪里?