Oracle 的闩锁机制,算是 DBA 绕不开的一道坎。Latch 竞争的问题其实还蛮常见的,是在并发量一高,性能就容易抖。
文章《深入解析 Oracle - 栓锁竞争与 Latch 优化实践》把这个问题剖得挺细,从Latch 的作用、常见类型、到怎么优化都讲到了。你要是不清楚Shared Pool Latch、Library Cache Latch这些到底卡在哪儿,看这个就对了。
而且内容不光是概念堆砌,还有实战案例——像是 SQL 绑定变量的使用、SGA 调整、怎么用V$LATCH这些系统视图排查瓶颈,都有讲。用的词不绕,读起来也不费劲,比较适合前端/后端联调时遇到 DB 性能瓶颈时参考一下。
如果你正在做接口联调,遇到 Oracle 响应慢,尤其是 SQL 看起来没毛病但就是慢,蛮有就是Latch 争用在搞鬼。这篇文章不求一次看懂,但你至少知道该往哪个方向排查。
另外还有一些延伸阅读也不错,比如oracle 库缓存闩竞争的方法,你可以顺带看看,补补脑。