日韩av片子_国产自在自线午夜精品视频在_使劲快高潮了国语对白在线_久久免费毛片大全_激情丁香综合_欧美成人精品欧美一级乱黄码

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁 > IT資訊 > 數(shù)據(jù)庫 > SQL數(shù)據(jù)庫引擎如何工作?

SQL數(shù)據(jù)庫引擎如何工作?

2020-07-23 16:41:40 | 來源:中培企業(yè)IT培訓(xùn)網(wǎng)

對(duì)于經(jīng)常管理數(shù)據(jù)庫的人來說,對(duì)SQL非常了解,有的甚至創(chuàng)建了許多SQL的項(xiàng)目,但是他們都不知道SQL數(shù)據(jù)庫引擎如何工作。顯然沒有人關(guān)心SQL引擎的內(nèi)部工作或其他方面,因?yàn)樵诓恢繱QL引擎如何工作的情況下,我們?nèi)匀豢梢允褂肧QL的任何程序創(chuàng)建和訪問數(shù)據(jù)庫。今天本文就詳細(xì)介紹一下SQL數(shù)據(jù)庫引擎如何工作的,以幫助您更好的認(rèn)識(shí)和了解SQL數(shù)據(jù)庫。

## SQL是編程語言還是查詢語言?

使用SQL時(shí),我們可以互換使用查詢和編程語言,許多開發(fā)人員將SQL稱為一種特殊的編程語言,因?yàn)镾QL引擎包含兩個(gè)組件,即編譯器和垂直計(jì)算機(jī),編譯器將查詢命令編譯為過程,而虛擬機(jī)則運(yùn)行該過程。SQL引擎編譯和執(zhí)行SQL查詢的概念使其成為一種編程語言。因此,如果有人說SQL是一種編程語言,那么在某種程度上他將被認(rèn)為是正確的。

  如果我們?nèi)魏尉幊陶Z言都可以創(chuàng)建CRUD操作程序,為什么還要使用SQL?

的確,使用任何一種編程語言,我們都可以創(chuàng)建一個(gè)可以執(zhí)行簡單的CRUD操作的程序,但是當(dāng)涉及到復(fù)雜的查詢時(shí),我們必須用幾行等效的幾行代碼來編寫數(shù)百行SQL。

SQL概述

SQL代表結(jié)構(gòu)化查詢語言,它可以被稱為編程語言或查詢語言,是SQL與關(guān)系數(shù)據(jù)庫進(jìn)行交互的主要目的,其中關(guān)系數(shù)據(jù)庫以表格形式存儲(chǔ)數(shù)據(jù)。SQL可以管理大量數(shù)據(jù),特別是如果數(shù)據(jù)是同時(shí)寫入的,并且我們在該數(shù)據(jù)上有許多轉(zhuǎn)換。

當(dāng)用戶使用SQL進(jìn)行數(shù)據(jù)管理時(shí),用戶可以在數(shù)據(jù)庫之間執(zhí)行創(chuàng)建,檢索,更新和刪除數(shù)據(jù)的功能。有各種關(guān)系數(shù)據(jù)庫管理系統(tǒng),例如MySQL,SQLite,Postgres SQL等,它們都提供相同的功能。

數(shù)據(jù)庫中有一些術(shù)語,例如數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫引擎或數(shù)據(jù)庫管理系統(tǒng)。在數(shù)據(jù)庫中,我們可以互換使用這三個(gè)術(shù)語,因此當(dāng)我們說SQL引擎或SQL Server時(shí),不要混淆,它們都是相同的。

  什么是SQL引擎?

SQL引擎是一種收集和解釋SQL命令的軟件,因此可以在關(guān)系數(shù)據(jù)庫上執(zhí)行適當(dāng)?shù)牟僮鳌QL引擎的目的是從數(shù)據(jù)庫中創(chuàng)建,讀取,更新和刪除數(shù)據(jù)。

SQL引擎或SQL Server數(shù)據(jù)庫引擎包括兩個(gè)主要組件:存儲(chǔ)引擎和查詢處理器,如今,一些現(xiàn)代SQL DBMS包含多個(gè)存儲(chǔ)引擎。我們有很多類型的SQL引擎,它們都有不同的體系結(jié)構(gòu),但是用于執(zhí)行相同的目標(biāo),包括對(duì)數(shù)據(jù)庫的CRUD操作和許多其他功能。

SQL已覆蓋在線市場的很大一部分,許多企業(yè)將其SQL系統(tǒng)用于在線事務(wù)處理和在線分析處理。

  SQL數(shù)據(jù)庫引擎如何工作?

表面上我們都知道,SQL的編譯器編譯查詢,而虛擬機(jī)執(zhí)行編譯的查詢。現(xiàn)在讓我們討論數(shù)據(jù)庫引擎如何工作。

SQL具有查詢編譯和執(zhí)行過程的許多階段。每個(gè)SQL數(shù)據(jù)庫引擎都包含兩個(gè)主要組件:編譯器和虛擬機(jī),以執(zhí)行查詢。編譯器讀取查詢并將該查詢轉(zhuǎn)換為適當(dāng)?shù)淖止?jié)碼,然后由虛擬機(jī)評(píng)估該字節(jié)碼并向客戶端返回適當(dāng)?shù)捻憫?yīng)。

  查詢的完全執(zhí)行將類別分為3個(gè)主要階段

· 編譯

· 捆綁

· 最佳化

· 執(zhí)行中

  編譯解析

這是編譯過程的一部分,在編譯解析過程中,查詢語句被標(biāo)記為帶有適當(dāng)?shù)脑~法和從句的單個(gè)單詞。

  編譯檢查語義

編譯符號(hào)學(xué)檢查語句的有效性,并將其與系統(tǒng)目錄匹配。此編譯階段驗(yàn)證查詢是否有效,還驗(yàn)證用戶執(zhí)行該語句的權(quán)限。

  編譯綁定

它為輸入的查詢語句創(chuàng)建相應(yīng)的二進(jìn)制表示形式。所有SQL Server引擎都具有此編譯狀態(tài),在該狀態(tài)下將生成字節(jié)碼。

到此編譯階段,該語句已被編譯,現(xiàn)在將其發(fā)送到數(shù)據(jù)庫服務(wù)器以進(jìn)行優(yōu)化和執(zhí)行。

  最佳化

它為字節(jié)碼優(yōu)化了最佳算法。此功能也稱為查詢優(yōu)化器或關(guān)系引擎。

  執(zhí)行中

虛擬機(jī)獲取優(yōu)化的字節(jié)碼并執(zhí)行。

SQL STATEMENT --> Parsing -->Binding --> Query Optimization --> Query Execution --> Result

注意:解析編譯過程不需要數(shù)據(jù)庫的任何許可,這使其成為最快的編譯處理階段。

  SQL將數(shù)據(jù)轉(zhuǎn)換為表

SQL用C語言編寫,它使用Binary-Tree原理,使傳入的數(shù)據(jù)存儲(chǔ)在Rows和Columns中。在二叉樹結(jié)構(gòu)中,我們有幾個(gè)分支,它們始終指向新的數(shù)據(jù)元素。SQL數(shù)據(jù)庫遵循相同的結(jié)構(gòu),在該結(jié)構(gòu)中,數(shù)據(jù)被轉(zhuǎn)換成表,其中每一列和每一行數(shù)據(jù)彼此指向。

  SQL數(shù)據(jù)庫引擎簡而言之

SQL引擎將查詢處理為多階段。查詢的處理可以從一個(gè)關(guān)系DBMS到另一個(gè)關(guān)系DBMS有所不同。在第一階段,查詢將被解析并轉(zhuǎn)換為兼容格式,例如JASON文件,然后進(jìn)行另一個(gè)編譯過程,以檢查已解析文件的語義,在編譯的最后階段,已解析文件將轉(zhuǎn)換為相應(yīng)的字節(jié)碼。

第二步是優(yōu)化,其中將適當(dāng)?shù)乃惴☉?yīng)用于字節(jié)碼。最后,虛擬機(jī)執(zhí)行代碼并為客戶端提供適當(dāng)?shù)慕Y(jié)果。

  什么是SQL Server存儲(chǔ)引擎?

它是用于在磁盤和內(nèi)存之間執(zhí)行CRUD操作的軟件。

要?jiǎng)?chuàng)建數(shù)據(jù)庫環(huán)境,我們需要SQL數(shù)據(jù)庫引擎,并且為了構(gòu)建數(shù)據(jù)庫引擎,我們經(jīng)常使用低級(jí)編程語言,因?yàn)樗鼈兪褂脩艨梢钥刂苾?nèi)存管理,而高級(jí)編程則缺少這種語言在高級(jí)編程語言中,語言是由操作系統(tǒng)自動(dòng)完成的。SQL引擎是跨平臺(tái)的,開發(fā)人員可以使用不同的平臺(tái)來構(gòu)建某些程序,但是所有平臺(tái)都可以與SQL引擎鏈接以獲取數(shù)據(jù)庫功能。更多關(guān)于數(shù)據(jù)庫的知識(shí),請繼續(xù)關(guān)注中培偉業(yè)。

標(biāo)簽: SQL 數(shù)據(jù)庫
主站蜘蛛池模板: 丰满中文一级无码AV | 涩涩亚洲乱码精品 | 波多野结衣绝顶大高潮 | 韩国一级免费 | cba今日赛事回看 | 亚洲综合日韩 | 日韩中文综合 | 国产精品欧美久久久久久日木一道 | 国产日韩在线一区 | 高清一区二区在线观看 | 污污视频在线免费观看 | 啊灬啊别停灬用力啊免费视频 | 天天操夜 | 欧美日韩一区二区在线视频 | 亚洲成人一区二区 | 少妇人妻偷人精品视蜜桃 | 国产精品久久久久久久毛片 | 少妇荡乳情欲办公室456视频 | 蜜臀精品一区二区 | 第一次爱的人免费看电视 | 浮生影视在线观看免费高清 | 六月激情婷婷 | 四虎国产精品亚洲一区久久特色 | 欧美不卡一区 | 亚洲国产精品成人网址天堂 | 中文字幕人妻少妇引诱隔壁 | 欧美日韩国产免费观看 | 国产日韩一二三区 | 中文字幕偷拍在线搭讪素巨 | 亚洲V欧美V国产V在线观看 | 四虎在线影视 | 国产中文1| 国产精品91麻豆 | 青春草视频在线播放 | 我是刑警34集全免费 | A级国产乱理伦片 | 国产精品成人永久在线四虎 | 日本高清黄 | 日韩av综合在线 | 被猛男伦流澡到高潮H视频网站 | 久久久精品国产免大香伊 |