河南IT培訓:SQLSERVER2000T-SQL的運行之淺談
鄭州北大青鳥翔天信鴿校區是專業的計算機培訓機構,最好的河南IT培訓學校,今天我們給大家分享的是:淺談Sql server2000T-Sql的運行。
大家都知道,T-SQL(Trantsact-SQL)是微軟公司在SYBASE的基礎上發展起來的一種結構化查詢語言,是應用程序和存儲過程與SQL SERVER通訊和訪問的工具。包涵了ANSI89和ANSI92標準。T-SQL不是一種標準的編程語言,它通過SQL SERVER的數據引擎來分析和運行,SQL SERVER是如何編譯和運行T-SQL語句呢?
SQL SERVER在處理任何T-SQL語句時都經過下面三個步驟:
1、解析T-SQL語句
2、編譯T-SQL語句
3、執行T-SQL語句
當一個T-SQL的批處理提交到SQL SERVER服務器,服務器回將這個T-SQL批處理作為一個整體進行分析,在優化,編譯,在分步執行。
1、 解析
所謂”解析”是指SQL SERVER命令解析模塊檢查T-SQL批處理語法的過程,如果沒有找到錯誤,命令解析器將源代碼細分為多個邏輯單元,比如:關鍵字,標識符以及運算符。然后命令解析器會構建一個內部結構,通過這個內部結構生成DDL操作或DDM操作所需要的詳細的步驟。如果該T-SQL批處理包涵一個查詢,那么這個內部結構被成為查詢樹(QUERY TREE),如果該T-SQL批處理是一個過程,那么這個內部查詢被成為順序樹(SEQUENCE TREE)。
2、編譯
這一步主要是將順序樹(SEQUENCE TREE)生成為一個執行規劃, 查詢優化器(Query Optimizer)主要是對T-SQL語句所要檢索的資源進行評估,生成I/O的時間,過慮時間和其他邏輯處理的時間。然后查詢優化器(Query Optimizer)是試圖利用一個最小資源的方案!
這個方案中還包括執行是需要的任務列表(比如:安全檢查,約束檢查,觸發器檢查等等)。這個就被成為執行規劃
3、執行
執行組件根據執行規劃在高速緩存中運行并滯留,執行規劃的不同步驟將被發送到關系引擎的不同組件進行處理:DML管理器,DDL管理器,存儲過程管理器,事務處理管理器和實用工具管理器。處理結果將以結果集的方式被收集合并返回調用者!
執行規劃將在高速緩存中被保留一段時間,如果同一用戶或其他用戶發出類似請求的T-SQL批處理,關系數據引擎將會優先在高速緩存中尋找匹配的執行規劃。如果該執行規劃存在就采用運行,如果不存在,SQL SERVER 就會解析并編譯這個T-SQL批處理!
如果SQL SERVER需要的內存不夠,它會從內存中刪除一些執行規劃。SQL SERVER有一個很好的”老化”算法,它可以統計某個執行規劃的使用時間和次數。如果內存足夠的大,也可以無限的增加執行規劃到內存中!
以上是我們和大家分享的一些技術知識,想要了解更多有關數據庫知識,請查看:http://www.991gfe.cn/jsjl/
本文由站河南北大青鳥校區整編而成,如需了解更多IT資訊類的文章、新聞、課程和學習技巧、就業案例、招生詳情等問題,可以對在線咨詢老師進行一對一問答!
推薦資訊
- 期待一紙通知書,不如學一身技能... 2019-07-10
- 鄭州北大青鳥每周六準時開辦免費... 2012-10-13
- 如何實現服務器上的端口代理... 2018-09-07
- Android歐洲市場份額趕超蘋果,塞... 2012-10-13
- 求職面試中就業面試儀態作用有多... 2014-02-20
熱點資訊
- 學習SQL數據庫有哪些方法?... 2018-09-07
- 河南IT培訓:SQLSERVER2000T-SQL的... 2018-09-07
- 使用access數據庫有哪些好處呢?... 2018-09-07
- 網站數據庫老是被入侵該怎么辦?... 2018-09-07
- 半小時讓你快速MySQL 入門... 2018-09-07