mysql--间隙锁

2021-08-23
阅读 2 分钟
2.8k
间隙锁的出现是为了解决幻读,间隙锁只有再可重复读下才能使用加锁原则加锁基本单位为next-key lock(左开右闭);查找过程中访问的对象才会加锁(二级索引的间隙锁有可能会传递到主键上)唯一索引等值查询,next-key lock退化为行锁索引等值查询(包含唯一和普通索引),向右遍历时最后一个不满足等值条件的时候,next-key lock退...

mysql--order by排序

2021-08-16
阅读 5 分钟
1.7k
{代码...} 如果要查询city是杭州的所有人名字,并且按姓名排序返回前1000个人的姓名和年龄,sql可以这么写: {代码...} 全字段排序:初始化 sort_buffer,确定放入 name、city、age 这三个字段;从索引 city 找到第一个满足 city='杭州’条件的主键 id,也就是图中的 ID_X;到主键 id 索引取出整行,取 name、city、age 三个...

mysql--count方法

2021-08-16
阅读 1 分钟
878
MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count(*) 的时候会直接返回这个数,效率很高InnoDB 引擎执行 count(*) 的时候,需要把数据一行一行地从引擎里面读出来,然后累积计数

mysql--锁

2021-08-10
阅读 3 分钟
1.1k
数据更新语句(数据的增删改)、数据定义语句(包括建表、修改表结构等)和更新类事务的提交语句都会被阻塞。全局锁的典型使用场景是,做全库逻辑备份使用msqldump工具并加上–single-transaction可以开启一个事务,进行逻辑备份,数据也是可以正常更新的

mysql--索引

2021-08-09
阅读 3 分钟
1k
执行流程:在 k 索引树上找到 k=3 的记录,取得 ID = 300;再到 ID 索引树查到 ID=300 对应的 R3;在 k 索引树取下一个值 k=5,取得 ID=500;再回到 ID 索引树查到 ID=500 对应的 R4;在 k 索引树取下一个值 k=6,不满足条件,循环结束。

Mysql--事务

2021-08-05
阅读 1 分钟
1k
1. 隔离级别read uncomitted 读未提交read comitted 读已提交repeatable read 可重复读serializable 串行化查看隔离级别 {代码...} 2. 事务隔离的实现以可重复读为例在 MySQL 中,实际上每条记录在更新的时候都会同时记录一条回滚操作。记录上的最新值,通过回滚操作,都可以得到前一个状态的值。假设一个值从 1 被按顺...

分布式--OAuth2协议

2021-08-05
阅读 1 分钟
920

mysql--redo log 以及 binlog

2021-08-04
阅读 5 分钟
2.8k
简述: 引擎层的redo log 是为了避免每一次更新操作都去查找记录再修改记录(随机读写),采用WAL技术(Write-Ahead Logging写前日志)来转换成顺序读写;(WAL机制有两个好处:1将磁盘随机读写转为顺序写 2.组提交,可大幅降低磁盘的IOPS)

mysql--sql语句执行流程

2021-08-04
阅读 1 分钟
1.4k
MySQL 在执行过程中临时使用的内存是管理在连接对象里面的,这些资源会在连接断开的时候才释放如果内存占用太大,会被系统强行杀掉解决方案:1.定期断开链接,程序里判断下执行过一个占用大内存的查询后,断开链接再重连2.mysql5.7以后 ,可以执行mysql_reset_connection来初始化链接,恢复到刚刚创建连接的状态(此处存疑,有说...

分布式--分布式基本理论

2021-08-04
阅读 3 分钟
1.3k
一.CAP定理:Consistency 一致性同一个数据的所有备份,在同一时刻是否有相同的值。一种比较常见的强一致性实现就是,在看到一致的结果之前,写请求不返回,读请求阻塞或者超时Availability可用性在集群中一些节点故障时,集群还可以响应读写请求Partition-tolerance分区容忍性分布式系统具有多个节点,如果节点间网络中...

JVM琐碎知识

2021-08-03
阅读 1 分钟
894
1. 线程安全点 safe point线程在safe point上时,可以安全得被其他JVM线程所操作和观测,不在的则不行;线程安全点:方法返回之前调用某个方法之后抛出异常的位置循环的末尾2. 类加载过程 [加载] 利用双亲委派机制加载字节码文件(.class)到JVM中,将字节流代表的静态存储结构转化为方法区的运行时数据结构[链接] 验证 字节码...

linux-bio与nio的区别

2021-07-05
阅读 1 分钟
1.9k
application知道有I/O时间发生,但并不知道哪几个流,所以只能轮询所有流读取数据,时间复杂度O(n),同时处理的流越多,时间越多,且有最大连接限制