資源描述:
《sql,server,清除執(zhí)行計劃》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場安保新項目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個人素質(zhì)的培訓(xùn)計劃sql,server,清除執(zhí)行計劃 【如何使用SQLServer執(zhí)行計劃】 【看懂SQLServer執(zhí)行計劃】 【SQLServer執(zhí)行計劃各個動作含義】 【理解SQLServer執(zhí)行計劃的意思】 要理解執(zhí)行計劃,怎么也得先理解,那各種各樣的名詞吧。鑒于自己還不是很了解。本文打算作為只寫懂的,不懂的懂了才寫?! ≡陂_頭要先說明,第一次看執(zhí)行計劃要注意,SQLServer的執(zhí)行
2、計劃是從右向左看的。名詞解析: 掃描:逐行遍歷數(shù)據(jù)。 先建立一張表,并給大家看看大概是什么樣子的?! REATETABLEPerson( IdintIDENTITY(1,1)NOTNULL, Namenvarchar(50)NULL, AgeintNULL, HeightintNULL, Areanvarchar(50)NULL, MarryHistorynvarchar(10)NULL, EducationalBackgroundnvarchar(10)NULL, Add
3、ressnvarchar(50)NULL,目的-通過該培訓(xùn)員工可對保安行業(yè)有初步了解,并感受到安保行業(yè)的發(fā)展的巨大潛力,可提升其的專業(yè)水平,并確保其在這個行業(yè)的安全感。為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場安保新項目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個人素質(zhì)的培訓(xùn)計劃 InSiteIdintNULL )ON[PRIMARY] 表中的數(shù)據(jù)14萬左右,大概類似下面這樣: 此表,暫時沒有任何索引。 一、數(shù)據(jù)訪問操作 1、表掃描 表掃描:發(fā)生于堆表,并且沒有可用的索引可用時,會
4、發(fā)生表掃描,表示整個表掃描一次。現(xiàn)在,我們來對此表執(zhí)行一條簡單的查詢語句: SELECT*FromPersonWHEREName='公子' 查看執(zhí)行計劃如下: 表掃描,顧名思義就是整張表掃描,找到你所需要的數(shù)據(jù)了?! ?、聚集索引掃描 聚集索引掃描:發(fā)生于聚集表,也相當(dāng)于全表掃描操作,但在針對聚集列的條件如(WHEREId> 10)等操作時,效率會較好?! ∠旅嫖覀冊贗d列來對此表加上一個聚集索引 CREATECLUSTEREDINDEXIX_IdONPerson(Id) 再次執(zhí)行
5、同樣的查詢語句: SELECT*FromPersonWHEREName='公子' 執(zhí)行計劃如下:目的-通過該培訓(xùn)員工可對保安行業(yè)有初步了解,并感受到安保行業(yè)的發(fā)展的巨大潛力,可提升其的專業(yè)水平,并確保其在這個行業(yè)的安全感。為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場安保新項目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個人素質(zhì)的培訓(xùn)計劃 為什么建的聚集索引在Id列,會對掃描有影響呢?更何況與Name條件也沒關(guān)系??? 其實,你加了聚集索引之后,表就由堆表變成了聚集表。我們知道聚集表的數(shù)據(jù)存在于
6、聚集索引的葉級節(jié)點。因此,聚集掃描與表掃描其實差別不大,要說差別大,也得看where條件里是什么,以后返回的數(shù)據(jù)。就本條SQL語句而言,效率差別并不大?! 】梢钥纯碔/O統(tǒng)計信息: 表掃描: 聚集索引掃描: 此處超出本文范疇了,效率不在本文考慮范圍內(nèi),本文只考慮的是,各種掃描的區(qū)別,以及為何會產(chǎn)生。 3、聚集索引查找 聚集索引查找:掃描聚集索引中特定范圍的行?! 】磮?zhí)行以下SQL語句: SELECT*FROMPersonWHEREId='73164' 執(zhí)行計劃如下: 4、索引掃描
7、 索引掃描:整體掃描非聚集索引?! ∠旅嫖覀儊硖砑右粋€聚集索引,并執(zhí)行一條查詢語句: CREATENONCLUSTEREDINDEXIX_NameONPerson(Name)--創(chuàng)建非聚集索引目的-通過該培訓(xùn)員工可對保安行業(yè)有初步了解,并感受到安保行業(yè)的發(fā)展的巨大潛力,可提升其的專業(yè)水平,并確保其在這個行業(yè)的安全感。為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場安保新項目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個人素質(zhì)的培訓(xùn)計劃 SELECTNameFROMPerson 查看執(zhí)行計劃如下:
8、 為什么此處會選擇索引掃描(非聚集索引)呢?因為此非聚集索引能夠覆蓋所需要的數(shù)據(jù)。如果非聚集索引不能覆蓋呢?例如,我們將SELECT改為SELECT*再來看看?! 『妹黠@,返回結(jié)果所包括的記錄太多,用非聚集索引反而不合算。因此使用了聚集索引。如果此時我們刪除聚集索引,再執(zhí)行SELECT*看看?! ROPINDEX_Id 而此時沒有聚集索引,所以只有使用表掃描。5、書簽查找 前面關(guān)于索引的學(xué)習(xí)我們已經(jīng)知道,當(dāng)在非聚集索引中并非覆蓋和包含所需全部的列時,SQLServer會選擇,直接進(jìn)行聚集