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

以下的文章主要介绍的是如何正确掌握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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql的事务语句_MySQL提供的事务控制语句

在MySQL命令行的默认设置下,事务都是自动提交的,即执行SQL语句后就会马上执行COMMIT操作。因此要显式地开启一个事务需要使用命令BEGIN, START TRANSACTION, 或者执行命令SET AUTOCOMMIT0, 禁用当前会话的自动提交。每个数据库厂商自动提交的设置都会不相…

mysql输出美式报表_Navicat for MySQL 如何预览报表

Navicat for MySQL 使用用户友好 GUI 报表创建工具创建各种不同类型的报表,设计发票、统计、邮寄标签及更多其他报表。输出报表到多种格式,如 text、PDF、Lotus、Excel、Graphic、Html 及更多。Navicat Report Viewer 可浏览由报表创建工具设计的报表&am…

Win7启动mysql无法启动_Win7系统中MySQL服务无法启动的解决方法

Win7系统中提示:本地无法启动MySQL服务,报的错误:1067,进程意外终止的解决方法。在本地计算机无法启动MYSQL服务错误1067进程意外终止。这种情况一般是my.ini文件配置出错了1、首先找到这个文件: Win7下的默认安装路径…

mysql 测试数据的脚本_Mysql脚本 生成测试数据

Mysql脚本 生成测试数据使用:./xie.sh -uroot -p123456#!/bin/bash#混合测试数据库脚本#将创建一个single数据库,其中创建一个s1表#如果数据库存在,将会写入数据,可以在写入部分sleep 1 来让数据持续写入#使用方法 ./xx.sh -uroot…

c mysql 双主复制_mysql双主复制及使用keepalived作高可用的配置详解

1、系统环境架构 vip 192.168..45.244mysql-1:192.168.45.238mysql-2:192.168.45.2392、mysql双主设置192.168.45.238 代码示例:#vim /etc/my.cnf[client]port 3306socket /tmp/mysql.sock[mysqld]port 3306socket /tmp/mysql.sockdatadir/usr/local/mysql/var/s…

mysql jdbc execute_JDBC中execute、executeQuery和executeUpdate的区别

欢迎大家访问我的个人博客(https://zhuchuanliang.github.io),才刚刚开始搞,还有很多要改进的地方,希望大家指点。Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute。使用哪一个方法由 SQL 语…

mysql和jfinal的区别_mysql与JFinal的数据关系-阿里云开发者社区

mysql与jfinal在使用过程中,一定要弄清楚数据关系,否则容易发生类型不匹配的错误。一、关系整理为此,我根据jfinal的源码和mysql的数据字段类型,整理列表如下:mysqljfinal例子编号varchar, char, enum, set, text, tin…

mysql server_id作用_MySQL复制过程中server-id的理解

一. server-id做什么用的,你知道吗?1、 MySQL的同步的数据中是包含server-id的,用于标识该语句最初是从哪个server写入的,所以server-id一定要有的2、 每一个同步中的slave在master上都对应一个master线程,该线程就…

java如何解析cron成可视化_宅家30天,2万字节java高级工程师面试题解析,如何斩获阿里p7...

宅家里一个月,“闭关修炼”的你是不是正在为金三银四跳槽季发愁呢?小编今天说的这富含的15个互联网大厂Java高级工程师核心面试问题整理!内容包括:kafka面试题及解析18道ZooKeeper面试题及解析28道Linux 面试真题及解析45道MySQL面…

java接口如何接受语音参数_Java 是如何优雅地实现接口数据校验的?

作者 | 无敌码农 责编 | 张文头图 | CSDN 下载自东方 IC来源 | 无敌码农(ID:jiangqiaodege)本篇文章给大家分享平时开发中总结的一点小技巧!在工作中写过 Java 程序的朋友都知道,目前使用 Java 开发服务最主流的方式就是通过 Spring MVC 定义…

msp430单片机 温度计编程_MSP430系列与89C5l系列的比较

1、89C51单片机是8位单片机。其指令是采用的被称为“CISC”的复杂指令集,共具有111条指令。而MSP430单片机是16位的单片机,采用了精简指令集(RISC)结构,只有简洁的27条指令,大量的指令则是模拟指令,众多的寄存器以及片…

php 正则表达式提取出合法的时间_PHP正则表达式核心技术完全详解 第1节

PHP正则表达式核心技术 第1节正则表达式: 就是描述字符串排列模式的一种自定义语法规则、也是用于描述字符串排列 或 匹配模式的一种语法规则、正则表达式: 就是用于描述字符串排列 或 匹配模式的一种语法规则、它主要用于字符串的: 分割字符串、查找字符串、替换字符串 的一系…

anacoda2如何连接使用mysql_Anaconda 安装 Python 库(MySQLdb)的方法-(转)

安装python库的过程中,最重要的地方就是版本需要兼容。其中操作系统为64位,Python为2.X 64位,下载安装文件的时候也要注意版本匹配。其中文件名中包含的cp27表示CPython 2.7版本,cp34表示CPython 3.4,win_amd64指的是6…

mysql 字段等于select_mysql_select_计算字段_数据处理函数_5

二十一、创建计算字段1、 concat() 把两个字段拼接起来select concat(lie_name1,间隔符,lie_name2) fromtable_name;选择出 name-type(price)这样的格式输出,按id从小到大排序mysql> selectconcat(name,-,type,(,price,)) from goods order by id;--…

php mysql随机记录_php随机取mysql记录方法小结

这篇文章主要介绍了php随机取mysql记录方法,实例分析了几种常见的随机获取mysql数据的方法,是非常实用的技巧,具有一定的参考借鉴价值,需要的朋友可以参考下本文实例总结了php随机取mysql记录方法。分享给大家供大家参考。具体分析如下:在php中要随机取mysql记录我们…

mysql 主从备份问题_我遇到的mysql主从同步的问题

测试mysql主从同步的问题,主从同步test库。主库:rootttt 11:00>use test;Database changedroottest 11:00>show tables;----------------| Tables_in_test |----------------| a |----------------从库:root(none) 11:01>use test;D…

中西方对时间的差异_中西文化的差异-2 时间观

中西文化的差异-2 时间观时间和空间存在不可思议的相似性。因此,人们对时间的不同理解可分为两种时空观念———直线型和循环型。大体而言,英语国家的人认为时间是直线型,客观顺序是把事件分为过去,现在,将来三种时态(…

java开发环境怎么写_Java开发基础设置:如何配置Java运行环境

很多朋友都有自学Java的愿望,但是自学一门语言何其艰难,没人指引的话往往不得其门而入。那么,今天千锋老师就给大家带来Java入门课程中配置Java运行环境的方法,希望能够对大家有所帮助。一、JDK安装 什么是JVMJava Virtual Machin…

被动声呐 相移波束形成_100天计划-DAY9-拖曳声呐

拖曳线列阵声纳是拖曳在距舰船尾部一定距离的声接收系统(通常称为线列阵),通过接收航行目标自身辐射的噪声或者通过接收目标反射回来的信号,来检测目标的有无并估计目标有关参数。拖曳线列阵声纳可以分为主动、被动和主被动联合三…

mongodb转实体对像_MongoDB:实体对象(javabean)转DBObject

packageutils;importjava.lang.reflect.Field;importcom.mongodb.BasicDBObject;importcom.mongodb.DBObject;importpojo.User;public classBeanFromDBObject {/*** Description:bean-->DBObject*parambean*returnDBObject 返回类型*/public static DBObject getDBObject(T …