資源描述:
《sql,server,查看執(zhí)行計(jì)劃》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場(chǎng)安保新項(xiàng)目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個(gè)人素質(zhì)的培訓(xùn)計(jì)劃sql,server,查看執(zhí)行計(jì)劃 ?TableScan(表掃描):如果看到這個(gè)信息,就說明數(shù)據(jù)表上沒有聚集索引,或者查詢優(yōu)化器 沒有使用索引來查找。意即資料表的每一行都被檢查到。如果資料表相對(duì)較小的話,表掃描可以非常快速,有時(shí)甚至快過使用索引。 因此,當(dāng)看到有執(zhí)行表掃描時(shí),第一件要做的事就是看看數(shù)據(jù)表有多少數(shù)據(jù)行。如果不是太多的話,那么表掃描可能提供了最好的總體效能。但如果數(shù)據(jù)表大的話,表掃描就
2、極可能需要長(zhǎng)時(shí)間來完成,查詢效能就大受影響。在這種情況下,就需要仔細(xì)研究,為數(shù)據(jù)表增加一個(gè)適當(dāng)?shù)乃饕糜谶@個(gè)查詢。目的-通過該培訓(xùn)員工可對(duì)保安行業(yè)有初步了解,并感受到安保行業(yè)的發(fā)展的巨大潛力,可提升其的專業(yè)水平,并確保其在這個(gè)行業(yè)的安全感。為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場(chǎng)安保新項(xiàng)目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個(gè)人素質(zhì)的培訓(xùn)計(jì)劃 假設(shè)你發(fā)現(xiàn)某查詢使用了表掃描,有一個(gè)合適的非聚集索引,但它沒有用到。這意味著什么呢?為什么這個(gè)索引沒有用到呢?如果需要獲得的數(shù)據(jù)量相對(duì)數(shù)據(jù)表大小來說非常大,或者數(shù)
3、據(jù)選擇性不高(意味著同一個(gè)字段中重復(fù)的值很多),表掃描經(jīng)常會(huì)比索引掃描快。例如,如果一個(gè)數(shù)據(jù)表有10000個(gè)數(shù)據(jù)行,查詢返回1000行,如果這個(gè)表沒有聚集索引的話,那么表掃描將比使用一個(gè)非聚集索引更快?;蛘呷绻麛?shù)據(jù)表有10000個(gè)數(shù)據(jù)行,且同一個(gè)字段(WHERE條件句有用到這個(gè)字段)上有1000筆重復(fù)的數(shù)據(jù),表掃描也會(huì)比使用非聚集索引更快?! 〔榭磮D形執(zhí)行計(jì)劃上的數(shù)據(jù)表上的彈出式窗口時(shí),請(qǐng)注意”預(yù)估的資料行數(shù)(EstimatedRowCount)”。這個(gè)數(shù)字是查詢優(yōu)化器作出的多少個(gè)數(shù)據(jù)行會(huì)被返回的最佳推測(cè)。如果執(zhí)
4、行了表掃描且”預(yù)估的數(shù)據(jù)行數(shù)”數(shù)值很高的話,就意味著返回的記錄數(shù)很多,查詢優(yōu)化器認(rèn)為執(zhí)行表掃描比使用可用的非聚集索引更快?! ?IndexSeek(索引查找):索引查找意味著查詢優(yōu)化器使用了數(shù)據(jù)表上的非聚集索引來查找數(shù) 據(jù)。性能通常會(huì)很快,尤其是當(dāng)只有少數(shù)的數(shù)據(jù)行被返回時(shí)。 ?ClusteredIndexSeek(聚集索引查找):這指查詢優(yōu)化器使用了數(shù)據(jù)表上的聚集索引來查 找數(shù)據(jù),性能很快。實(shí)際上,這是SQLServer能做的最快的索引查找類型?! ?ClusteredIndexScan(聚集索引掃描):聚
5、集索引掃描與表掃描相似,不同的是聚集索引目的-通過該培訓(xùn)員工可對(duì)保安行業(yè)有初步了解,并感受到安保行業(yè)的發(fā)展的巨大潛力,可提升其的專業(yè)水平,并確保其在這個(gè)行業(yè)的安全感。為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場(chǎng)安保新項(xiàng)目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個(gè)人素質(zhì)的培訓(xùn)計(jì)劃 掃描是在一個(gè)建有聚集索引的數(shù)據(jù)表上執(zhí)行的。和一般的表掃描一樣,聚集索引掃描可能表明存在效能問題。一般來說,有兩種原因會(huì)引此聚集索引掃描的執(zhí)行。第一個(gè)原因,相對(duì)于數(shù)據(jù)表上的整體數(shù)據(jù)行數(shù)目,可能需要獲取太多的數(shù)據(jù)行。查看”預(yù)估的數(shù)據(jù)行數(shù)量(
6、EstimatedRowCount)”可以對(duì)此加以驗(yàn)證。第二個(gè)原因,可能是由于WHERE條件句中用到的字段選擇性不高。在任何情況下,與標(biāo)準(zhǔn)的表掃描不同,聚集索引掃描并不會(huì)總是去查找數(shù)據(jù)表中的所有數(shù)據(jù),所以聚集索引掃描一般都會(huì)比標(biāo)準(zhǔn)的表掃描要快。通常來說,要將聚集索引掃描改成聚集索引查找,你唯一能做的是重寫查詢語句,讓語句限制性更多,從而返回更少的數(shù)據(jù)行?! 〗^大多數(shù)情況下,查詢優(yōu)化器會(huì)對(duì)連接進(jìn)行分析,按最有效率的順序,使用最有效率的連接類型來對(duì)數(shù)據(jù)表進(jìn)行連接。但并不總是如此。在圖形執(zhí)行計(jì)劃中你可以看到代表查詢所使
7、用到的各種不同連接類型的圖標(biāo)。此外,每個(gè)連接圖標(biāo)都有兩個(gè)箭頭指向它。指向連接圖標(biāo)的上面的箭頭代表該連接的外部表,下面的箭頭則代表這個(gè)連接的內(nèi)部表。箭頭的另一頭則指向被連接的數(shù)據(jù)表名?! ∮袝r(shí)在多表連接的查詢中,箭頭的另一頭指向的并不是一個(gè)數(shù)據(jù)表,而是另一個(gè)連接。如果將鼠標(biāo)移到指向外部連接與內(nèi)部連接的箭頭上,就可以看到一個(gè)彈出式窗口,告訴你有多少數(shù)據(jù)行被發(fā)送至這個(gè)連接來進(jìn)行處理。外部表應(yīng)該總是比內(nèi)部表含有更少的數(shù)據(jù)行。如果不是,則說明查詢優(yōu)化器所選擇的連接順序可能不正確(下面是關(guān)于這個(gè)話題的更多信息)。目的-通過該
8、培訓(xùn)員工可對(duì)保安行業(yè)有初步了解,并感受到安保行業(yè)的發(fā)展的巨大潛力,可提升其的專業(yè)水平,并確保其在這個(gè)行業(yè)的安全感。為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場(chǎng)安保新項(xiàng)目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個(gè)人素質(zhì)的培訓(xùn)計(jì)劃 首先,讓我們來看看連接類型。SQLServer可以使用三種不同的技術(shù)來連接資料表:嵌套循環(huán)(nestedloop),散列(hash),以及合并(