
MySQL
数据库MySQL
Ang Ga Ga
Rush!投入/专注/我永远爱Java。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySQL 数据库分库分表问题
文章目录一、为什么要分表:二、利用 merge 存储引擎 来实现分表三、数据库架构MySQL垂直切分垂直分库垂直分表MySQL水平切分总结:一、为什么要分表: 对于海量数据,进行分表可以减小数据库的负担,缩短查询时间。 比如对于某网站平台的数据库,数据量达到 5000万条,可以设计每张表容纳的数据量...原创 2020-04-04 16:18:59 · 386 阅读 · 0 评论 -
MySQL语句加锁分析
文章目录1.普通的SELECT语句2.锁定读的语句2.1 对于使用主键进行等值查询的情况2.2 对于使用主键进行范围查询的情况 一条语句需要加的锁受到很多条件制约,比方说:事务的隔离级别语句执行时使用的索引(比如聚簇索引、唯一二级索引、普通二级索引)查询条件(比方说=、=<、>=等等)具体执行的语句类型  ...原创 2020-03-28 17:41:44 · 240 阅读 · 0 评论 -
MySQL(二)
文章目录统计数据的存储方式对 NULL 值的处理Buffer Pool统计数据的存储方式 InnoDB提供了两种存储统计数据的方式:(0)非永久性的统计数据,存储在内存中,当服务器关闭时这些这些统计数据就都被清除掉了,等到服务器重启之后,在某些适当的场景下才会重新收集这些统计数据。(1)永久性的统计数据,存储在磁盘上,也就是 服务器重启之后这些...原创 2020-03-19 22:11:00 · 154 阅读 · 0 评论 -
undo日志 与 MVCC版本链
文章目录一、前情提要隐藏列二、事务回滚-undo日志三、MVCC读提交:每次读取数据前都会生成一个独立的 ReadView可重复读: 只在第一次读取数据时生成一个ReadViewMVCC 总结好处:一、前情提要隐藏列 聚簇索引的记录 除了会保存完整的用户数据以外 ,还会自动添加名为trx_id、roll_pointer的隐藏列,如果用户没有在表中...原创 2020-03-19 22:06:47 · 2271 阅读 · 4 评论 -
MySQL(一)存储引擎、事务、隔离级别、锁、索引
一、复习要点罗列1.存储引擎是什么?知道哪些存储引擎?各自特点? InnoDB:默认事务型存储引擎,引入行级锁定,适用于:事务、更新密集、自动灾难恢复、外键约束、支持自动增加列AUTO_INCREMENT。 MyISAM:独立于操作系统的,每当我们建立一个MyISAM引擎的表时,就会在本地磁盘上建立三个文件,文件名就是表名,三个文件分别存储表的定义、数据 和 索引。适用于:选择密集型 、插...原创 2020-03-12 00:04:19 · 658 阅读 · 1 评论 -
MySQL数据库学习之跟着掘金手册学-个人笔记与总结[4]-InnoDB数据页结构
一、对上一章的复习摘要页是MySQL中磁盘和内存交互的基本单位,也是MySQL是管理存储空间的基本单位。指定和修改行格式的语法如下:CREATE TABLE 表名 (列的信息) ROW_FORMAT=行格式名称ALTER TABLE 表名 ROW_FORMAT=行格式名称InnoDB目前定义了4种行格式:Compact(紧凑的)行格式、Redundant(冗余的)行格式、Dyna...原创 2020-01-28 22:12:30 · 240 阅读 · 0 评论 -
MySQL数据库学习之跟着掘金手册学-个人笔记与总结[8]-InnoDB的表空间
一、前情提要数据目录 MySQL 服务器程序在启动时会到 文件系统 的某个目录下加载文件,之后产生的数据会存到这个目录的某些文件中,这个目录就是 数据目录。 每个数据库都对应一个和数据库同名的目录(或者说是文件夹) 当用 create databas...原创 2020-02-16 21:32:48 · 164 阅读 · 0 评论 -
MySQL数据库学习之跟着掘金手册学-个人笔记与总结[7]-MySQL数据目录
一、前情提要索引的代价: 每建立一个索引,都需要建立一颗B+树,建多非常占用空间;每次对表的增删改,都需要修改各个B+树索引排列顺序,导致性能损耗。B+树索引适用的条件: (结合B+树索引的特点) 全值匹配、 匹配左边的列、 匹配范围值、 精确匹配某一列并范围匹配另外...原创 2020-02-16 21:12:14 · 374 阅读 · 0 评论 -
MySQL数据库学习之跟着掘金手册学-个人笔记与总结[6]-B+树索引的使用
一、对上一章的复习摘要如果想从这么多页中根据主键值快速定位某些记录所在的页,需要给它们做个目录,每个页对应一个目录项,每个目录项包括下边两个部分:(1)页的用户记录中最小的主键值,我们用key来表示。(2)页号,我们用page_no表示。目录项记录和普通的用户记录的不同点:(1)目录项记录的record_type值是1,而普通用户记录的record_type值是0。(2)目录项...原创 2020-02-09 20:14:22 · 340 阅读 · 2 评论 -
MySQL数据库学习之跟着掘金手册学-个人笔记与总结[5]-B+树索引
一、对上一章的复习摘要InnoDB为了不同的目的而设计了不同类型的页,我们把用于存放记录的页叫做数据页(索引页)。一个数据页可以被大致划分为7个部分,分别是(1)File Header,表示页的一些通用信息,占固定的38字节。(2)Page Header,表示数据页专有的一些信息,占固定的56个字节。(3)Infimum + Supremum,两个虚拟的伪记录,分别表示页中的最小...原创 2020-02-06 22:16:29 · 285 阅读 · 0 评论 -
MySQL数据库学习之跟着掘金手册学-个人笔记与总结[3]-InnoDB记录存储结构
一、对上一章的复习摘要字符集编码规则:(1)ASCII:可以表示128个符号,最多1字节。(2)ISO 8859-1 也叫latain1,是在ASCII基础上扩充了128个西欧-德/法常用的字符。最多1字节。(3)GB2312:汉字、拉丁字母、希腊字母、日本片假名、俄语西里尔字母,兼容ASCII,如果在ASCII中,1字节;如果不在ASCII中,2字节,采用变长编码方式。Windows操...原创 2020-01-26 22:58:53 · 215 阅读 · 0 评论