終于要迎來(lái)postgresql的《A Tour of PostgreSQL Internals》系列的最后一篇了。學(xué)習(xí)是不能拖延的事兒,越拖延事情越多。不廢話,一起來(lái)看看吧~
View 3 Postgresql的查詢處理
還是先上圖吧。下面這張圖從整體上概括了Postgresql的查詢處理的步驟以及牽涉到的各個(gè)模塊。
其中最重要的關(guān)鍵的兩個(gè)數(shù)據(jù)結(jié)構(gòu)是查詢分析樹(shù)(parse tree),和查詢計(jì)劃樹(shù)(plan tree)。
對(duì)上圖所標(biāo)示的四個(gè)模塊,下面一一來(lái)分析。
3.1 Parser(查詢分析模塊)
該模塊通過(guò)對(duì)SQL語(yǔ)句進(jìn)行分析生成查詢樹(shù)。
查詢分析是查詢編譯的第一個(gè)模塊,包括詞法分析、語(yǔ)法分析和語(yǔ)義分析。它將用戶輸入的SQL語(yǔ)句進(jìn)行詞法分析(使用Lex工具)和語(yǔ)法分析(Yacc工具)生成分析樹(shù),然后進(jìn)行語(yǔ)義分析得到查詢樹(shù)(parse tree)。
查詢樹(shù)中有幾個(gè)重要的屬性:
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26