成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

擦亮自己的眼睛去看SQL Server之簡單Insert

數據庫 SQL Server
本來是打算先寫SQLServer歷史的,不過感覺寫那部分內容比較難還需要多查些資料。于是調整了下順序寫下簡單的Insert語句。

本來是打算先寫SQLServer歷史的,不過感覺寫那部分內容比較難還需要多查些資料。于是調整了下順序寫下簡單的Insert語句。數據庫結構還是采用上一篇的結構。具體查看上一篇文章擦亮自己的眼睛去看SQL Server之簡單Select。今天討論的語句也比較簡單,Insert語句。

一、Insert腳本

  1. insert into Test([Name]) values('xiaojun'

沒什么好說的,因為想寫這樣的語句太簡單。

二、 語句分析

這條語句到底發生了什么呢?假設讀者已經知道了SQLServer整體架構或者已經閱讀過這個系列第一篇文章。當這條語句被可靠的傳遞到關系引擎中后已經生成執行計劃,并且開始被調度執行。接下來就發生了:

寫事務日志:數據修改事務中唯一一個總是需要寫入磁盤的操作。并不是修改查詢語句的清單,而是修改操作發生之后數據頁面的具體變化。是由日志管理器完成。看到寫入磁盤,我們應該立刻聯想到性能問題,因為這個操作是總是寫入磁盤。如果一條語句的操作的數據很大的話,這個耗時是十分可怕的。舉個例子:如果想知道這個差距,你可以在百萬或者千萬的表中執行以下兩條語句體會以下:truncate table Test以及delete from Test。當然嚴謹的同學會說truncate是針對區操作,delete是針對頁操作,truncate的鎖消耗也比delete的鎖消耗少。這些是會導致truncate比delete快的原因。但是這些原因不是主要原因,主要原因就是這里說的寫事務日志,delete是每次刪除一行,并在事務日志中為所刪除的每行記錄一項,而truncate是通過釋放存儲表數據所用的數據頁來刪除數據,并且只在事務日志中記錄頁的釋放。既然事務日志會影響性能,為什么還記錄呢?主要解決保護數據以及數據一致性的問題。

接收寫請求:一旦訪問方法接收到寫事務日志成功的確認信息,就會接收寫請求,將寫請求發送緩存區管理器。注意了,這里是把請求交給緩存區管理器,緩存區管理器只是操作緩存跟物理文件沒有任何關系。這里強調的目的是,如果沒有理解這里說的原理的話。你可能會為自己做了大量的插入操作,而數據文件的大小沒有任何變化而感到匪夷所思。訪問方法表面上起了請求傳遞的作用,其實它很智能有一些比較復雜的算法來預測執行情況。

插入緩沖池:緩沖區管理器在內存中插入數據,插入成功后將確認結果發送給訪問方法,最終確認結果到達客戶端。

寫入數據文件:這個步驟可以由兩個組件任何一個完成。惰性寫入器線程定期檢查SQLServer空閑緩沖列表的大小,當這個值過低的時候,惰性寫入器會掃描整個數據緩存,將所有一段時間沒被使用的頁面老化。如果找到一段時間沒有被使用的臟頁,惰性寫入器則將其寫入磁盤并且刪除,然后將這個頁面的內存空間標記為空閑空間。惰性寫入器還會監測服務器上的空閑物理內存,如果內存很少它會將SQLServer的空閑緩沖列表釋放給windows,在SQLServer負載很重時,它還會在服務器有空閑物理內存且已給SQLServer分配的內存還沒有達到我們配置的最大服務器內存(max server memory)時增加SQLServer的空閑緩沖列表以適應負載。檢查點是檢查點線程創建的一個時間點,將保證臟頁都寫入磁盤,并且在頁面頭將緩存中的這個頁面標記為干凈的頁面注意檢查點是不刪除臟頁的。至于檢查點的執行時間是要分幾種情況的:如果你配置了recovery interval(min),就以這個為準。如果沒有配置,并且這上一次檢查點結束后寫入的事務日志數據超過10MB,則大約每分鐘啟動一致。還比如,我們人為執行checkpoint執行,或者執行備份重啟命令都會觸發檢查點。拋開我們人為操作,這個具體時間確實無法確定,SQLServer有內部啟發算法控制這個值。不過我們可以開啟一個跟蹤標志3502能查看。這個跟蹤標志在錯誤日志中記錄了檢查點的開始與結束為止。sql語句為:dbcc traceon(3502) 。

三、結尾

今天主要就是介紹了插入語句的執行過程,內容不多。你從這個過程中你會發現SQLServer真的很智能。比如這里的預寫日志來保護數據,延遲將數據寫入磁盤、預測SQL執行情況、監控負載調整內存等等。設計的都是那么巧妙,大家可以想想如果我們在設計自己的軟件時是否可以參考和借鑒呢?

今天分析就到此結束,文中如有描述不當的地方,歡迎指出。共同進步才是硬道理。

原文鏈接:http://www.cnblogs.com/yueyue_jwfm/archive/2011/06/30/2095006.html

【編輯推薦】

  1. 分析TOP語句放到表值函數外,效率異常低下的原因
  2. 雙TOP二分法生成分頁SQL類
  3. SQL Server數據庫中簡單的SELECT TOP
  4. 利用top構造Sql Server分頁查詢
  5. 說說Top子句對查詢計劃的影響
責任編輯:艾婧 來源: 小軍人的博客
相關推薦

2011-07-01 10:18:58

SQL ServerSelect

2011-06-23 09:55:11

SQL Server

2011-08-29 10:35:26

SQL Server

2011-07-14 09:37:53

SQL Server

2011-08-15 09:30:59

SQL Server

2010-01-13 15:20:27

三層交換機

2011-04-22 09:33:49

投影機鏡頭投影機

2011-05-05 10:10:09

投影機

2011-05-24 09:39:15

投影機鏡頭保養

2015-11-27 14:12:43

2012-04-02 19:32:11

iPhone 4

2009-10-23 12:44:35

SQL SERVER

2011-04-20 17:08:01

2010-09-13 10:55:44

SQL Server

2015-04-15 13:49:31

公共Wi-Fi避害兩手抓

2010-09-13 10:43:22

SQL Server

2015-10-23 17:33:50

metal

2015-08-19 14:22:01

SQL Server參數

2010-07-14 15:32:28

SQL Server

2010-11-09 10:00:37

SQL Server簡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人一区精品 | 精品久久久久久久久久 | 亚洲欧美日韩电影 | 粉嫩粉嫩芽的虎白女18在线视频 | 香蕉大人久久国产成人av | 日韩中文一区二区 | 精品一区二区在线观看 | 精品国产99 | 精精国产xxxx视频在线播放 | 中文字幕亚洲一区 | 国产日韩欧美中文字幕 | 久久婷婷国产 | 久久国产精品一区二区三区 | 亚洲一区二区精品 | 成人性视频免费网站 | 欧美精品1区2区3区 精品国产欧美一区二区 | 久久里面有精品 | 亚洲在线观看视频 | 日韩视频一区二区在线 | 作爱视频免费观看 | 婷婷丁香在线视频 | 日韩综合在线播放 | 日本高清视频在线播放 | 国产精品视频久久久久 | 国产黄色网 | 国产网站久久 | 精品欧美| 欧美伦理一区 | 欧美成人精品一区二区三区 | 91麻豆精品国产91久久久更新资源速度超快 | 91av在线视频观看 | 亚洲精品一区二区在线观看 | 亚洲高清电影 | 国产色 | 午夜激情在线视频 | 国产欧美日韩精品一区 | 精品亚洲视频在线 | 国产三区精品 | 一级中国毛片 | 在线中文字幕视频 | 二区不卡|