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

大连建设监察执法网站网站开发 需要用到什么软件

大连建设监察执法网站,网站开发 需要用到什么软件,建设银行宁夏分行网站,企业管理系统项目简介怎么写mysql中的行格式之compact格式分析 mysql行格式 所谓行格式#xff0c;就是指mysql一行数据的存储格式。 InnoDB 储存引擎支持有四种行储存格式#xff1a;Compact、Redundant、Dynamic 和 Compressed。 Redundant是很古老的行格式了#xff0c;因为占用空间最多#x…mysql中的行格式之compact格式分析 mysql行格式 所谓行格式就是指mysql一行数据的存储格式。 InnoDB 储存引擎支持有四种行储存格式Compact、Redundant、Dynamic 和 Compressed。 Redundant是很古老的行格式了因为占用空间最多导致内存碎片化最严重比较低效现在基本上已经不用了 Compact是MySQL 5.0之后引入的行记录存储方式是一种紧凑的行格式设计的初衷就是为了让一个数据页中可以存放更多的行记录从 MySQL 5.1 版本之后行格式默认设置成 Compact。 Dynamic和Compressed 两个都是紧凑的行格式它们的行格式都和 Compact 差不多因为都是基于 Compact进行改进。从 MySQL5.7 版本之后默认使用 Dynamic 行格式。 应该说Compact格式是一个比较经典的格式因此本文将以Compact格式为例详细介绍其具体的内容。 mysql表的数据存储在哪里 进入mysql查看mysql的data目录在哪里例如下面所示 mysql show variables like datadir; -------------------------------- | Variable_name | Value | -------------------------------- | datadir | /var/lib/mysql/ | -------------------------------- 1 row in set (0.00 sec)进入该目录中会看到一个一database命名的目录进入该目录中则会看到一个以表名.ibd的文件该文件即是存储mysql表数据的文件。 COMPACT 行格式长什么样 compact行格式如下所示 主要分为两个个部分 存储的额外数据存储的真实数据 存储的额外数据中包含了变长数据列的长度NULL值的列表记录头信息。 存储的真实数据中包含了三个隐藏列和真实数据。 首先看存储的额外数据。 存储的额外数据的第一块用于记录变长数据列的长度其排放顺序是逆序排放的。 例如下面这张表name和city列为变长字段由于是逆序排放的第一条记录的变长数据列的长度的值为07 03 ----------------------------- | id | name | city | level | ----------------------------- | 0 | tom | Nanjing | a | | 1 | kitty | Beijing | b | | 2 | simth | Wuhan | c | -----------------------------额外数据的第二块是记录NULL值的列表它使用bit来标记列值是否为空。其低位最右侧的位标记第0个列是否为NULL。 例如这里的第一条记录其city列为NULL因此其NULL列的值为00000100为04。 ----------------------------- | id | name | city | level | ----------------------------- | 0 | Nancy | NULL | c | | 1 | NULL | NULL | c |额外数据的第三块是记录头信息其格式如下所示共5个字节 名称大小 (bit)描述预留位11没有使用预留位21没有使用delete_mask1标记该记录是否被删除min_rec_mask1B树里每一层的非叶子节点里的最小值都有这个标记n_owned4表示当前记录拥有的记录数heap_no13表示当前记录在记录堆的位置信息record_type3标识当前记录的类型0代表的是普通类型1代表的是B树非叶子节点2代表的是最小值数据3代表的是最大值数据。next_record16表示下一条记录的相对位置 接下来是存储的真实数据部分 其第一部分包含三个隐藏列其格式如下所示 DB_ROW_ID该字段占6个字节用于标识一条记录DB_TRX_ID该字段占6个字节其值为事务IDDB_ROLL_PTR该字段占7个字节其值为回滚指针 其第二部分存储的就是每个非NULL列真实的数据。 有了这些基础下面对照ibd文件具体分析。 实验分析ibd文件格式 下面将通过分析.ibd文件的方式来进一步了解。首先需要准备好环境。这里我使用的是docker环境进行环境准备的。 首先使用docker pull拉取最新版本的mysql的镜像。 docker pull mysql再镜像拉取完毕之后启动mysql这里我将本地目录挂载到了mysql容器中便于后续获取ibd文件。 docker run -v /home/work/data/mysql:/var/lib/mysql/ -e MYSQL_ROOT_PASSWORD111111 -d 镜像的id进入mysql容器中创建demo的数据库并在demo数据库中创建user_tbl表。user_tbl表包含了四个字段其中name和city字段为变长字段。id和level为固定长度字段。 create database demo; use demo; create table user_tbl (id int,name varchar(20) comment mutable-length,city varchar(20) comment mutable-length,level char(1) comment fix-length )row_formatcompact;进一步向user_tbl表中添加5条测试数据。 insert into user_tbl values(0,tom,Nanjing,a); insert into user_tbl values(1,kitty,Beijing,b); insert into user_tbl values(2,simth,Wuhan,c); insert into user_tbl values(3,Nancy,NULL,c); insert into user_tbl values(4,NULL,NULL,c);退出容器去挂载的目录中去获取idb文件例如我的目录就是/home/work/data/mysql/demo/user_tbl.ibd。 通过二进制查看工具例如notepad--可以很好的对其进行分析。通过记录中的字符串可以很快地在二进制文件中定位到位置例如在我的实验中数据记录在文件中的位置如下所示 有了这些数据就可以对其进行分析了。 我这里获取到的五条的数据记录如下所示对照上面讲解的Compact数据行格式是一致的。 第一条数据格式 07 03 //第三列长度为7 第二列长度为3 00 //NULL bit映射为空 00 00 10 00 2B //header info 00 00 00 00 02 00 //DB_ROW_ID 00 00 00 00 07 19 //DB_TRX_ID 82 00 00 01 1E 01 10 //DB_ROLL_PTR 80 00 00 00 //0 74 6F 6D //tom 4E 61 6E 6A 69 6E 67 //Nanjing 61 //a 01 第二条数据格式 07 05 //第三列长度为7 第二列长度为5 00 //NULL bit映射为空 00 00 18 00 2D //header info 00 00 00 00 02 01 //DB_ROW_ID 00 00 00 00 07 1A //DB_TRX_ID 81 00 00 01 1E 01 10 //DB_ROLL_PTR 80 00 00 01 //1 6B 69 74 74 79 //kitty 42 65 69 6A 69 6E 67 //Beijing 62 //b 01 第三条数据格式 05 05 //第三列长度为5 第二列长度为5 00 //NULL bit映射为空 00 00 20 00 2A //header info 00 00 00 00 02 02 //DB_ROW_ID 00 00 00 00 07 1F //DB_TRX_ID 82 00 00 01 0A 01 10 //DB_ROLL_PTR 80 00 00 02 //2 73 69 6D 74 68 //simth 57 75 68 61 6E //Wuhan 63 //c 01 第四条数据格式 05 //第二列长度为5 04 //NULL 00000100 第三列为NULL 00 00 28 00 24 //header info 00 00 00 00 02 03 //DB_ROW_ID 00 00 00 00 07 20 //DB_TRX_ID 81 00 00 01 0E 01 10 //DB_ROLL_PTR 80 00 00 03 //3 4E 61 6E 63 79 //Nancy 63 //c 01 第五条数据格式 // 没有变长列的长度 06 //NULL 00000110 第二列和第二列为NULL 00 00 30 FF 49 //header info 00 00 00 00 02 04 //DB_ROW_ID 00 00 00 00 07 25 //DB_TRX_ID 82 00 00 01 0C 01 10 //DB_ROLL_PTR 80 00 00 04 //4 63 //c
http://www.pierceye.com/news/374768/

相关文章:

  • ec网站域名app开发策划书范文
  • 免费做图网站设计作品发布平台
  • 网站砍价活动怎么做公司网站更新
  • 高要网站建设wordpress比织梦安全吗
  • 闵行网站建设多久能见效果城市建设模拟游戏网站
  • 誉铭摄影网站网页布局设计技术包括
  • 专门做定制化的网站成都网站推广技巧
  • 有啦域名网站怎么做北京织梦网站建设
  • 公司网站后台怎么添加内容asp网站gzip压缩
  • app浏览器源码大全网站广州网站建设 .超凡科技
  • 免费做网站的方法h5手机网站怎么做
  • 郑州营销型网站制作运营随州网站seo诊断
  • 怎么修改网站备案信息外国的网站是什么网站
  • 小企业网站建设多少钱软件免费下载的网站大全
  • 免费承接网站建设公司网站备案资料
  • 深圳微信网站制作免费加盟一件代发货源网站
  • 青岛外贸网站建站公司东莞市专业的网页设计制作报价
  • 长沙网站设计工作室wordpress手机分享插件下载地址
  • 网站开发用什么图片格式最好网站数据库搬家
  • 宜宾建设网站企业所得税税负率
  • 广州网站二级等保上海企业网站模板
  • 做任务赚话费的网站网站直播间 是怎么做的
  • 合肥住房城乡建设部的网站传媒公司是干嘛的
  • 网站建设公司盈利深圳保障性住房在哪里申请
  • 网站建设(信科网络)谷歌推广怎么开户
  • 活动策划网站有哪些温州网页设计美工
  • 网站描述代码怎么写做正规小说网站
  • 无锡外贸网站制作公司php网站开发薪资 深圳
  • 做卡盟网站赚钱吗为企业制定网络营销方案
  • lol视频网站模板网站定制案例