随笔分类 -  Java 数据库 --- MySQL 数据库

MySQL 数据库的相关知识点
摘要:1、快照读 快照读是基于 MVCC 和 undo log 来实现的,适用于简单 select 语句。 读已提交:一个事务内操作一条数据,可以查询到另一个已提交事务操作同一条数据的最新值。(Oracle 默认隔离级别) 可重复读:每个事务只关注自己事务开始查询到的数据值,无论事务查询同一条数据多少次, 阅读全文
posted @ 2019-09-05 15:47 几近虚年 阅读(8436) 评论(0) 推荐(5)
摘要:1、InnoDB 相关知识点 InnoDB 引擎是将数据划分为若干数据页,页大小一般16 KB,16384个字节。 插入数据是以记录为单位,这些记录在磁盘的存放方式称之为 行格式/记录格式,有 compact、Redundant、Dynamic和Compressed 四种格式。 1)、Compact 阅读全文
posted @ 2019-06-19 15:30 几近虚年 阅读(236) 评论(0) 推荐(0)
摘要:1、查数据太多不会把内存用光 InnoDB 的数据是保存在主键索引上,然后索引树分割保存在数据页上,数据页存在内存中/磁盘。change buffer 就是先把修改操作记录,然后读数据的时候,内存没有就从磁盘拿,把 change buffer 的改动应用的从磁盘读取的数据页上,返回给请求。并且此时数 阅读全文
posted @ 2019-02-21 14:48 几近虚年 阅读(476) 评论(0) 推荐(1)
摘要:1、MySQL主备切换 readonly 设置对超级(super)权限是无效的,而用于同步更新的线程,就拥有超级权限。 建议在做主备数据库的时候,将备用数据库设置为只读。(反向用readonly来判断节点的角色) 主备的同步是通过 binlog 日志同步,流程: 1)、备库上通过 change ma 阅读全文
posted @ 2019-02-21 14:41 几近虚年 阅读(830) 评论(0) 推荐(0)
摘要:1、Order By 是怎么工作的 MySQL做排序是一个成本比较高的操作。MySQL会为每个线程分配一个 sort_buffer 内存用于排序,该内存大小为 sort_buffer_size。 全字段排序 排序流程: 1)、初始化 sort_buffer,确定放入需要查询的字段,例如查询年龄age 阅读全文
posted @ 2019-01-28 14:37 几近虚年 阅读(658) 评论(0) 推荐(0)
摘要:1、MySQL的架构 1)、连接器 先根据Ip和端口号,用户名和密码,连接MySQL数据库,连接后如果没有下一步动作,连接就处于空闲状态,此时有一个连接超时时间的设置 wait_timeout默认8小时。 连接器会查询当前登录用户在权限表中所存储的权限。 连接分为长连接和短连接,长连接是指连接成功后 阅读全文
posted @ 2019-01-06 18:47 几近虚年 阅读(457) 评论(0) 推荐(0)