每日乙個知識點系列的目的是針對某乙個知識點進行概括性總結,可在一分鐘內完成知識點的閱讀理解,此處不涉及詳細的原理性解讀,只作為一種拋磚引玉。真正的理解一定是你自我研究探索所收穫的知識。
愛生活,愛編碼,本文已收錄架構技術專欄關注這個喜歡分享的地方。開源專案:
mvcc,multi-version concurrency control,多版本併發控制
資料庫有四種隔離級別,通過mvcc在每種查詢下的情況也是不一樣的。
在每次insert 、update 、delete都會生成乙個事物id,事物id 是遞增的。聚簇索引記錄中都包含兩個必要字段 trx_id 、roll_pointer ,每次修改都會生成undo日誌(insert沒有,因為沒歷史)。
這裡有幾個主要就是概念就是版本鏈、readview。
版本鏈:
對於使用innodb
儲存引擎的表來說,它的聚簇索引記錄中都包含兩個必要的隱藏列(row_id
並不是必要的,我們建立的表中有主鍵或者非null唯一鍵時都不會包含row_id
列)
readview:
(每種隔離級別也不太一樣),主要包含當前系統中還有哪些活躍的讀寫事務,把它們的事務id放到乙個列表中,把這個列表命名為為m_ids
,根據版本鏈trx_id 和m_ids 的比較來進行版本選擇(具體規則可以自己查查)
愛生活,愛編碼,本文已收錄架構技術專欄關注這個喜歡分享的地方。開源專案:
記乙個知識點 arguments
js的函式中有乙個很重要的物件,arguments.arguments這個物件可以用來獲取函式在呼叫時候的傳入的實參.通過arguments.length可以知道函式此次被呼叫傳入了幾個引數,通過arguments n 可以拿到函式第 n 1 個引數的值,請見示例 我們先建立乙個函式 var add...
Excel每天乙個知識點 引用
excel的引用類似於程式設計裡邊的指標變數 不是很恰當的比喻 主要被用來做公式套用處理,類似於形參傳值。先來說幾個概念 1 位置識別符號 列 用大寫的英文本母表示,比如a,b,c,d,aa,ab.最大列16384 xfd 行 用數字表示,比如1,2,3,4,5,最大行1048576 excel20...
python 閉包 乙個很小知識點
修改前 返回x的乘法函式,是函式,呼叫才執行 defmake return lambda x i x for i in range 3 for r in make print r 4 期望輸出 04 8實際輸出 88 8原因 i因為閉包延遲繫結,到執行的時候已經為2 所以引數4一直只和最終的2相乘 ...