Innodb下null 的存储表现有什么不一样
发布时间:2021-12-26 13:11:22 所属栏目:MySql教程 来源:互联网
导读:小编给大家分享一下Innodb下null 的存储表现有什么不同,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! null :nullbits 位图上的区别。 :可变字节多一个字节。 :可变字节多一个字节且实际数据区域为0X20多一个字节。 如下语句: mysq
小编给大家分享一下Innodb下null '' ' '的存储表现有什么不同,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! null :nullbits 位图上的区别。 ‘’:可变字节多一个字节。 ‘ ‘:可变字节多一个字节且实际数据区域为0X20多一个字节。 如下语句: mysql> show create table testnull1 G *************************** 1. row *************************** Table: testnull1 Create Table: CREATE TABLE `testnull1` ( `id` int(11) DEFAULT NULL, `name` varchar(20) DEFAULT NULL, `name1` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 1 row in set (0.00 sec) mysql> insert into testnull1 values(1,'gaopeng','gaopeng'); Query OK, 1 row affected (0.22 sec) mysql> insert into testnull1 values(1,'','gaopeng'); Query OK, 1 row affected (0.22 sec) mysql> insert into testnull1 values(1,null,'gaopeng'); Query OK, 1 row affected (0.22 sec) mysql> insert into testnull1 values(1,' ','gaopeng'); Query OK, 1 row affected (0.22 sec) mysql> select * from testnull1; +------+---------+---------+ | id | name | name1 | +------+---------+---------+ | 1 | gaopeng | gaopeng | | 1 | | gaopeng | | 1 | NULL | gaopeng | | 1 | | gaopeng | +------+---------+---------+ 4 rows in set (0.00 sec) 主要观察第2,3,4行。 第二行: 07 00:2字节可变字段长度,第二个00代表name 字段的长度,这里’’长度是0 00: null位图 0000180025:fixed extrasize 0000012065100000000ec9e9b1000014210110:rowid+trx_id+rollback_ptr 80000001:数据1 67616f70656e67:数据‘gaopeng’ 第三行 07:1字节可变长度 02:null位图 0000200026:fixed extrasize 0000012065110000000ec9eeb4000014060110:rowid+trx_id+rollback_ptr 80000001:数据1 67616f70656e67:数据‘gaopeng’ 第四行 0701:2字节可变长度,01代表是name字段长度 00:null位图 000028ff78:fixed extrasize 0000012065120000000ec9f0b6000014040110:rowid+trx_id+rollback_ptr 80000001:数据1 20:数据’ ‘ 67616f70656e67:数据‘gaopeng’ 看完了这篇文章,相信你对“Innodb下null '' ' '的存储表现有什么不同”有了一定的了解。 (编辑:汉中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐