Mysql 原理學習

2021-08-21 20:04:51 字數 885 閱讀 2697

7 - 27

2、 併發控制和鎖的概念

併發會 有可能產生 資料髒讀:  多個操作修改 同乙個資料時,產生髒資料。

解決併發問題的解決方案: 鎖的機制

1、共享鎖

2、排它鎖(讀鎖和寫鎖)

select 時 加讀鎖, 其他的select 操作可以讀取, 但是不能修改

update 時 加寫鎖, 其他的 操作不了。

鎖的粒度:

1、 表鎖: 鎖表

2、 行鎖: 鎖行

這樣確保 某個時間點的事務一致。

死鎖: 兩個或者多個事務在同 乙個資源上 互相占用並請求鎖定對方占用的資源,導致惡性迴圈的現象。

解決方案:  排它鎖的事務進行回滾。

3、 事務的概念

事務就是一組原子性的sql語句, 要麼全部執行,要麼都不執行。

事務的特性:

1、原子性:  所有操作 要麼全部提交成功,要麼全部失敗回滾

2、一致性:  確保資料的唯一性, 一致性。

3、隔離型:  乙個事務所操作的修改在 事務提交之前 對於其他的事務的不可見的!

4、永久性:     一旦事務提交, 對資料的操作修改 ,是永久儲存到資料庫中。

事務的隔離級別:

1、read uncommitted (讀未提交)  事務中的修改即使未提交也是對其它事務可見

2、read committed(讀提交)      事務提交後所做的修改才會被另乙個事務看見,可能產生乙個事務中兩次查詢的結果不同

3、repeatable read(可重讀):只有當前事務提交才能看見另乙個事務的修改結果。解決了乙個事務中兩次查詢的結果不同的問題

4、serializable(序列化):只有乙個事務提交之後才會執行另乙個事務。

五、 儲存引擎 的概念

Traceroute原理學習

traceroute 可以讓我們看到 ip資料報從一台主機傳到另一台主機所經過的路由。曾經介紹過 ip記錄路由的選項 rr,為什麼不使用這個選項而另外開發乙個新的應用程式 traceroute呢?原因有三 其一,並不是所有的路由器都支援記錄路由這個選項 其二,記錄路由一般是單向的選項,傳送端設定了該...

Spring原理學習

簡介 spring 框架是乙個分層架構,由 7 個定義良好的模組組成。spring 模組構建在核心容器之上,核心容器定義了建立 配置和管理 bean 的方式。組成 spring 框架的每個模組 或元件 都可以單獨存在,或者與其他乙個或多個模組聯合實現。每個模組的功能如下 核心容器 核心容器提供 sp...

RPC原理學習

1.什麼是rpc rpc remote procedure call protocol 遠端過程呼叫協議,它是一種通過網路從遠端電腦程式上請求服務,而不需要了解底層網路技術的協議。rpc協議假定某些傳輸協議的存在,如tcp或udp,為通訊程式之間攜帶資訊資料。在osi網路通訊模型中,rpc跨越了傳輸...