日韩av手机在线免费观看_四虎免看黄_亚洲一区中文字幕_亚洲小视频网站_国产一区日韩在线_国产欧美精品一区二区

下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當(dāng)前位置:軟件下載吧 > 技術(shù)開發(fā) > 數(shù)據(jù)庫 > Postgres中UPDATE更新語句源碼分析

Postgres中UPDATE更新語句源碼分析

時間:2024-02-03 17:42作者:下載吧人氣:32

PG中UPDATE源碼分析

本文主要描述SQL中UPDATE語句的源碼分析,代碼為PG13.3版本。

整體流程分析

update dtea set id = 1;這條最簡單的Update語句進(jìn)行源碼分析(dtea不是分區(qū)表,不考慮并行等,沒有建立任何索引),幫助我們理解update的大致流程。

SQL流程如下:

  • parser(語法解析,生成語法解析樹UpdateStmt,檢查是否有語法層面的錯誤)

  • analyze(語義分析, UpdateStmt轉(zhuǎn)為查詢樹Query, 會查系統(tǒng)表檢查有無語義方面的錯誤)

  • rewrite(規(guī)則重寫, 根據(jù)規(guī)則rules重寫查詢樹Query, 根據(jù)事先存儲在系統(tǒng)表中的規(guī)則進(jìn)行重寫,沒有的話不進(jìn)行重寫,另外加一句,視圖的實(shí)現(xiàn)是根據(jù)規(guī)則系統(tǒng)實(shí)現(xiàn)的,也是在這里需要進(jìn)行處理)

  • optimizer(優(yōu)化器:邏輯優(yōu)化、物理優(yōu)化、生成執(zhí)行計(jì)劃, 由Query生成對應(yīng)的執(zhí)行計(jì)劃PlannedStmt, 基于代價的優(yōu)化器,由最佳路徑Path生成最佳執(zhí)行計(jì)劃Plan)

  • executor(執(zhí)行器,會有各種算子,依據(jù)執(zhí)行計(jì)劃進(jìn)行處理,火山模型,一次一元組)

  • storage(存儲引擎)。中間還有事務(wù)處理。事務(wù)處理部分的代碼這里不再進(jìn)行分析,免得將問題復(fù)雜化。存儲引擎那部分也不進(jìn)行分析,重點(diǎn)關(guān)注解析、優(yōu)化、執(zhí)行這三部分。

對應(yīng)的代碼:

exec_simple_query(const?char?*query_string)
//?——-?解析器部分————–
–>?pg_parse_query(query_string);????//生成語法解析樹
–>?pg_analyze_and_rewrite(parsetree,?query_string,NULL,?0,?NULL);???//?生成查詢樹Query
????–>?parse_analyze(parsetree,?query_string,?paramTypes,?numParams,queryEnv);?//?語義分析
????–>?pg_rewrite_query(query);????//?規(guī)則重寫

//?——–優(yōu)化器———-
–>?pg_plan_queries()

//——–?執(zhí)行器———-
–>?PortalStart(portal,?NULL,?0,?InvalidSnapshot);
–>?PortalRun(portal,FETCH_ALL,true,true,receiver,receiver,&qc);????//?執(zhí)行器執(zhí)行
–>?PortalDrop(portal,?false);

標(biāo)簽MySQL,技術(shù)文檔,數(shù)據(jù)庫,PostgreSQL

相關(guān)下載

查看所有評論+

網(wǎng)友評論

網(wǎng)友
您的評論需要經(jīng)過審核才能顯示

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 国产伊人精品 | 男人的天堂在线视频 | 日韩在线一区二区三区 | 成人国产在线视频 | 免费一区二区 | 91久久精品 | 国产精品美女一区二区三区 | 天天玩天天干天天操 | 国产黄色在线观看 | 97成人在线 | 日本精品视频一区二区 | 精品国产乱码久久久久久88av | av激情在线 | 亚洲精品国产综合区久久久久久久 | 国产精品免费视频一区 | 一呦二呦三呦国产精品 | 亚洲a视 | 精品视频在线观看 | 婷婷桃色网 | 国产精品3区 | 在线国产一区 | 91在线区| 天天操天天干天天曰 | 日韩av.com| 成年男女免费视频网站 | 国产一区二区高清在线 | 一区二区三区视频在线观看 | 自拍偷拍欧美 | 日韩中文一区 | 午夜视频在线免费观看 | 狠狠爱网址| 精久久| 美女黄网| 亚洲网站在线观看 | 色性av | 一区二区中文字幕 | 老司机深夜福利网站 | 人人玩人人添人人澡欧美 | 精品欧美二区 | 一级看片免费视频囗交动图 | 久草网址|