{eval=Array;=+count(Array);}

亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

問答專欄Q & A COLUMN

關(guān)于sql執(zhí)行原理的問題,怎么處理比較好?

tracymac7tracymac7 回答0 收藏1
問題描述:mysql執(zhí)行緩存查詢操作的時候是不是也要通過分析器和執(zhí)行器?因為既是是查緩存也得分析語法然后去執(zhí)行查詢操作吧。 這是mysql執(zhí)行sql的原理圖。
收藏問題

2條回答

huaixiaoz

huaixiaoz

回答于2022-06-28 13:48

Sql執(zhí)行原理大致分為四步:

第一步,客戶端把語句發(fā)給服務器端執(zhí)行:所有的SQL語句都是在客戶端進程產(chǎn)生的,在服務器進程執(zhí)行的。
第二步,語句解析:客戶端把SQL語句傳送到服務器后,服務器進程會對該語句在服務器上進行解析,這個時候服務器進程會對于SQL語句進行這幾項操作:查詢高速緩存、語句合法性檢查、語言含義檢查也就是詞法分析器、然后對獲得對象進行解析鎖、再核對數(shù)據(jù)訪問權(quán)限、最后確定最佳執(zhí)行計劃。
第三步,語句執(zhí)行,語句解析只是對SQL語句的語法進行解析,以確保服務器能夠知道這條語句到底表達的是什么意思。

第四步,提取數(shù)據(jù),當語句執(zhí)行完成之后,查詢到的數(shù)據(jù)還是在服務器進程中,還沒有被傳送到客戶端的用戶進程。所以,在服務器端的進程中,有一個專門負責數(shù)據(jù)提取的一段代碼。他的作用就是把查詢到的數(shù)據(jù)結(jié)果返回給用戶端進程,從而完成整個查詢動作。

評論0 贊同0
  •  加載中...
snowell

snowell

回答于2022-06-28 13:48

你這個太籠統(tǒng) SQL的什么執(zhí)行原理?簡單描述下

評論0 贊同0
  •  加載中...

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<