mysql的核心類和重要的原始碼檔案

2021-07-26 13:27:32 字數 698 閱讀 9555

sql/sql_select.cc :包含著一些優化函式和一些資料檢索演算法的具體實現

item_類

item_類是mysql的每乙個子系統都要用到的東西。之所以稱之為item_類,是因為從item基類派生出許多子類甚至孫類。這些派生類被用來儲存和處理mysql系統裡的許多種資料,其中包括:引數、識別符號

時間、字段、函式、數值、字串等。item基類定義在/sql/item.h源**檔案裡,實現在/sql/item.cc源**裡。

lex結構

lex結構是sql命令在mysql系統內部的表示形式。sql命令的各組成部分---欄位、表、表示式等全都井井有條地儲存在lex結構裡。定義在/sql/lex.h檔案裡

net結構

net結構儲存著mysql伺服器與客戶端進行通訊所需要的所有資訊。buff成員變數用來存放原始的通訊資料報(sql命令就儲存在這些資料報裡)。兩個重要函式

my_net_write()函式,把資料報從net結構寫到網路協議

my_net_read()函式,把資料報從網路協議讀入net結構

從/include/mysql_com.h檔案裡找到全套網路通訊函式

thd類

這個類的定義在/sql/sql_class.h原始檔裡,實現在/sql/sql_class.cc源**裡。是乙個重要的類,執行緒類是執行緒執行成功的最大關鍵,在mysql伺服器裡,幾乎每乙個子系統或函式都要用到thd類。

ConcurrentHashMap的原始碼分析

put final v putval k key,v value,boolean onlyifabsent 在上一步的else if中 f 不為null時,則判斷f的hash值是否為moved,即 1,如果為 1,表示正在擴容 else if fh f.hash moved 協助資料遷移 tab h...

DispatcherServlet的原始碼和流程分析

1 自動配置dispatcherservlet和dispatcherservletregistry 2 註冊dispatcherservlet到servletcontext 3 初始化mvc的元件 handler執行完成後,向dispatcherservlet 返回乙個modelandview物件 ...

drf APIView及其內部函式 類的原始碼分析

1apiview的as view 內部還是執行了view的閉包函式view 禁用掉了csrf 一切皆物件,函式也是物件 函式位址.name lili 2原生view類中過的as view中的閉包函式view 本質執行了self.dispatch request,args,kwargs 執行的是api...