高效能MySQL學習記錄,day01

2021-08-28 23:34:18 字數 751 閱讀 2535

乙個使用者在對錶進行讀寫(增、刪、改)前需要獲得寫鎖,這回阻塞其它使用者對該錶的	

所有讀寫操作,只有沒有寫鎖的時,其它使用者才能獲得讀鎖,讀鎖之前不相互阻塞

伺服器會為 alter table 之類的語句使用表鎖

原子性: 乙個事務必須視為乙個不可分割的最小單位,整個事務要麼全部執行,要麼失敗回滾

一致性:資料庫總是從乙個一致性的狀態轉換到另乙個一致性的狀態

(ps:事務沒有提交時,資料不會儲存到資料庫)

隔離性:通常乙個事務所作的修改在最終提交之前對其它事務是不可見的,但是在討論隔離級別的時候另說

永續性:一旦事務提交,所作的修改會永久的儲存在資料庫中

未提交讀:事務的修改,即使沒有提交,對其他事務也是可見的(導致髒讀,一般不使用)

提交讀(不可重複讀):乙個事務從開始到提交之前對其它的事務不可見

可重複讀:(mysql的預設隔離級別)解決了髒讀問題,保證了在同乙個事務中多次讀取相同記錄的結果是一致的

ps:但理論上可重複讀不能解決幻讀的問題,

所謂幻讀:當某個事物在讀取某個範圍內的記錄時,另乙個事務又在該範圍內

新增了新的記錄,但是mysql通過多版本併發控制,解決了這個問題

可序列化:是最高的隔離級別,通過事務序列執行,避免了前面說的幻讀問題,

簡單來說,就是在讀取的時候在每一行資料加鎖,

導致了大量的超時和鎖爭得問題,很少用到。

《高效能mysql》學習

整型型別 tinyint,smallint,mediumint,int,bigint 有可選的unsigned屬性 表示不允許負值 例 tinyint unsigned 儲存的範圍是0 255,tinyint則表示 128 127 實數型別 float和double型別支援使用標準的浮點運算進行近似...

mysql高效能學習(一)

最上層的服務不是,mysql所獨有的,主要用於連線處理,授權認證,安全等。第二層是mysql的核心層,所有核心功能都在這一層,包括查詢解析,分析,優化,快取 以及所有的內建函式,所有跨儲存引擎功能 都在這 一層實現 儲存過程,觸發器,檢視等。第三層包含了儲存引擎,負責mysql中資料的儲存和提取。1...

高效能mysql學習 序章

書籍目錄介紹 mysql的伺服器架構 第一層上層服務 連線處理 授權認證 安全 第二層 儲存功能 觸發器 檢視 第三層 包含儲存引擎 讀寫鎖 在處理併發讀寫或者寫時,可以通過實現乙個由兩種型別的鎖組成的鎖系統來解決問題。這兩種型別的鎖通常被稱為共享鎖 排他鎖 也叫讀鎖 共享的相互不堵塞 和寫鎖 排他...