锁1

2021-07-16  本文已影响0人  苏水的北

第一课:性能优化:锁

注意:没有并发就没有锁。
Enqueues:保护的是事务的完整性。
Latch:保护的是内存结构,内存结构有buffer cache、shared pool等,保护他们的结构不受损坏。


image.png
image.png
image.png
image.png
image.png

一、V$LOCK视图讲解:(update阻塞实验)

image.png
image.png
image.png
image.png
image.png
image.png

二、delete操作的锁定演示

image.png

三、insert的阻塞演示

image.png
image.png

四、select ... for update的阻塞演示

image.png
image.png
image.png
image.png
image.png

五、TM锁几种模式的互斥关系

image.png

RI锁

一、RI锁:基于引用关系的锁定

image.png

二、实验测试主表insert插入,会对主表和子表如何锁定:

image.png
image.png
image.png
image.png
image.png

三、实验测试主表update操作,会对主表和子表如何锁定:

image.png

四、实验测试主表delete操作,会对主表和子表如何锁定:

image.png
image.png

BI锁和外键关系

一、没有索引的外键

image.png

二、有索引的外键

总结:外键一定要创建索引。


image.png

死锁:

image.png

一、演示死锁过程:

两个会话互相持有对方的资源,等待对方资源的释放就导致了死锁发生。


image.png
image.png

第二课:Latch:闩锁,资源争用

image.png

Latch:内存资源争用,就像给池塘里投食,一堆鱼都会过来抢夺一样,里面无序、混乱、繁忙。

image.png
image.png
image.png
image.png
image.png
image.png

buffer cache的机制

image.png
image.png
image.png
image.png

结论:

image.png

Latch争用

image.png
image.png

热快争用

image.png

data buffer中的Latch争用---多版本

image.png

Latch相关视图

image.png
image.png
image.png

Latch优化思路:

image.png
image.png
上一篇下一篇

猜你喜欢

热点阅读