mysql
文章平均质量分 81
欢谷悠扬
这世上有一种英雄主义,那就是看清了生活的真相,依然热爱生活
展开
-
mysql的不等于和null值问题
为什么mysql不建议使用null值作为列的默认值?明明null值在存储的时候会占用更少的空间,为什么要使用空字符或者0等值来作为默认值呢?在 MySQL 中处理“不等于” (!或< >) 时不等于无法获取到null值的行记录信息。原创 2024-07-22 20:56:40 · 604 阅读 · 1 评论 -
mysql之Innodb的Infimum和Supremum与用户记录的二三事
一、前言在上一篇中,学习了页的结构和行记录信息在页中的与伪记录的关系。这一篇中先验证一下伪记录与行记录的关系。下面开始~二、构建基础实验环境1.创建表 CREATE TABLE `compact_record_page` ( `col0` int(11) NOT NULL, `col1` varchar(10) DEFAULT NULL, `col2` char(5) DEFAULT NULL, `col3` int(11) DEFAULT NULL, `col4` varch原创 2021-03-13 14:15:30 · 2103 阅读 · 1 评论 -
mysql学习之Innodb的行记录在页中存储解析
前言在上一篇文章中,学习了行结构compact,从行结构中,我们可以看到char存在的意义,varchar的优势和缺点,主键存在的意义,null真正意义上的存储。在这一篇中,将学习行记录如何在页中存储的。通过这篇的学习,将清晰的了解到记录与记录之间是如何感知,如何确定一条记录的开始与结尾,如何正确的读取记录。并在接下来的三篇中进行真实mysql数据解析实验,验证从书上获取的内容是否正确。一、数据页1.1 数据页innodb管理存储的基本单位是页,一个也的默认大小为16kb,而页有很多种不同的类型原创 2021-03-09 20:03:34 · 701 阅读 · 0 评论 -
mysql学习-Innodb行格式compact行记录解析
一、Innodb四种行格式COMPACT 紧凑型行格式REDUNDANT 字段长度偏移类型DYNAMIC 动态行格式COMPRESSED 压缩行格式二、COMPACT行格式示意图三、变长字段长度列表1.目的针对于变长字段列入VARCHAR,VARBINARY,TEXT,BLOB等变长字段类型,由于存储的字段长度不固定,如果不记录该字段的真实长度,那么就无法计算出这一行的准确长度,那么就无法进行行与行的切分。所以变长字段会占用两部分空间,第一部分是数据的长度,另一部分是该数据所占用的字原创 2021-02-18 21:22:35 · 1682 阅读 · 23 评论 -
Mysql之分区初探
从5.7.17开始,如果表所应用的存储引擎提供了分区处理程序时,会代替mysql本身自带的通用分区处理程序进行分区。且在mysql8.0中已经删除了通用分区处理程序。一.概念分区: 表的不同部分作为单独的表存储在不同的位置,而用户选择用来完成数据划分的规则称之为分区本地分区:使用表所指定的存储引擎提供的分区处理程序进行分区。非本地分区:使用mysql自带的通用分区处理程序二.逐步废弃非本地分区从mysql5.7.17开始,将表与非本地分区表一起使用的时候会产生`ER_WARN_DEPRECATE原创 2020-09-02 16:51:27 · 193 阅读 · 0 评论 -
Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT)
1.修改字段的字符编码ALTER TABLE table_name MODIFY COLUMN column_name VARCHAR(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT “” COMMENT ‘字段备注’;2.在‘=’左边或者右边加上字符编码描述COLLATE utf8mb4_general_cise...原创 2019-11-14 11:45:53 · 398 阅读 · 0 评论