国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

[Oracle] 淺談Lock與Latch

2020-07-26 14:24:09
字體:
來源:轉載
供稿:網友

首先談談它們的共同點吧:它們本質上都是一種對資源的獨占鎖定,都是由并發引起(如果數據庫只有一個session,就談不上鎖定)。

接著著重談談它們的不同點:

首先,它們的目的不一樣,enqueue (即Lock,Oracle官方文檔混合使用這兩個名詞,在等待事件里,可以看到大量的enqueue,其實就是lock)是為了解決業務層面的數據爭用,而latch是為了解決內存資源的爭用。

其次,它們的運行方式不一樣,enqueue采用排隊方式,先到先得,而latch的競爭近乎無序,以一種隨機的方式,先到不一定先得,得靠搶,而且它還以一種時間片輪訓的方式,不會一直霸占,即時還沒運行完,時間片一到也。

第三,會話持有的時長不一樣,enqueue根據業務情況,可能會持有較長時間,而latch通常非常短。第四,引起的原因不一樣,enqueue太多通常是業務設計的問題,而latch過多,一般是數據庫層面的問題(如未使用綁定變量、表或索引熱塊等)。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 万州区| 赣榆县| 福建省| 涿州市| 娄烦县| 阿克苏市| 城口县| 孟村| 突泉县| 资溪县| 习水县| 富蕴县| 包头市| 鱼台县| 准格尔旗| 土默特右旗| 凤凰县| 宁国市| 金溪县| 阜新| 肥城市| 景洪市| 上犹县| 崇义县| 巴南区| 吐鲁番市| 安丘市| 鲁山县| 洛浦县| 三江| 孝义市| 海门市| 泊头市| 卢氏县| 陵川县| 拉萨市| 平山县| 新沂市| 平湖市| 霍州市| 红安县|