淺談SQL Server中統(tǒng)計(jì)對(duì)于查詢的影響分析建站知識(shí)
導(dǎo)讀:1建站知識(shí)SQL Server查詢分析器是基于開(kāi)銷的。通常來(lái)講,查詢分析器會(huì)根據(jù)謂詞來(lái)確定該如何選擇高效的查詢路線,比如該選擇哪高端網(wǎng)站建設(shè)建設(shè)網(wǎng)站公司。
而每次查詢分析器尋找路徑時(shí),并不會(huì)每一次都去統(tǒng)計(jì)索引中包含的行數(shù),值的范圍等,而是根據(jù)一定條件創(chuàng)建和更新這些信息后保存到數(shù)據(jù)庫(kù)中,這也就是所謂的統(tǒng)計(jì)信息。 如何查看統(tǒng)計(jì)信息 查看SQL Server的統(tǒng)計(jì)信息非常簡(jiǎn)單,使用如下指令: DBCC SHOW_STATISTICS('表名','索引名')所得到的結(jié)果如圖1所示。
統(tǒng)計(jì)信息如何影響查詢
下面我們通過(guò)一個(gè)簡(jiǎn)單的例子來(lái)看統(tǒng)計(jì)信息是如何影響查詢分析器。我建立一個(gè)測(cè)試表,有兩個(gè)INT值的列,其中id為自增,ref上建立非聚集索引,插入100條數(shù)據(jù),從1到100,再插入9900條等于100的數(shù)據(jù)。圖1中的統(tǒng)計(jì)信息就是示例數(shù)據(jù)的統(tǒng)計(jì)信息。
此時(shí),我where后使用ref值作為查詢條件,但是給定不同的值,我們可以看出根據(jù)統(tǒng)計(jì)信息,查詢分析器做出了不同的選擇,如圖2所示。
where id= 12345 where monthly_sales < 10000 / 12 where name like “Careyson” + “%”
但是對(duì)于比如
where price = @vari where total_sales > (select sum(qty) from sales) where a.id =b.ref_id
where col1 =1 and col2=2
這類在運(yùn)行時(shí)才能知道值的查詢,采樣步長(zhǎng)就明顯不是那么好用了。另外,上面第四行如果謂詞是兩個(gè)查詢條件,使用采樣步長(zhǎng)也并不好用。因?yàn)闊o(wú)論索引有多少列,采樣步長(zhǎng)僅僅存儲(chǔ)索引的第一列。當(dāng)柱狀圖不再好用時(shí),SQL Server使用密度來(lái)確定最佳的查詢路線。
密度的公式是:1/表中唯一值的 個(gè)建設(shè)網(wǎng)站數(shù)。當(dāng)密度越小時(shí),索引越容易被選中。比如圖1中的第二個(gè)表,我們可以通過(guò)如下公式來(lái)計(jì)算一下密度:
根據(jù)公式可以推斷,當(dāng)表中營(yíng)銷型網(wǎng)站建設(shè)的數(shù)據(jù)量逐漸增大時(shí),密度會(huì)越來(lái)越網(wǎng)站seo優(yōu)化培訓(xùn)小。
對(duì)于那些不能根據(jù)采樣步長(zhǎng)做出選擇的查詢,查詢分析器使用密度來(lái)估計(jì)行數(shù),這個(gè)公式為:估計(jì)的行數(shù)=表中的行數(shù)*密度
那么,根據(jù)這個(gè)公式,如果我做查詢時(shí),估計(jì)的行數(shù)就會(huì)為如圖4所示的數(shù)字。
我們來(lái)驗(yàn)證一下這個(gè)結(jié)論,如圖5所示。
因此,可以看出,估計(jì)的行數(shù)是和實(shí)際的行數(shù)有出入的,當(dāng)數(shù)據(jù)分布均勻時(shí),或者數(shù)據(jù)量大時(shí),這個(gè)誤差將會(huì)變的非常小。
統(tǒng)計(jì)信息的更新由上面的例子可以看到,查詢分析器由于依賴于統(tǒng)計(jì)信息進(jìn)行查詢,那么過(guò)時(shí)的統(tǒng)計(jì)信息則可能導(dǎo)致低效率的查詢。統(tǒng)計(jì)信息既可以由SQL Server來(lái)進(jìn)行管理,也可以手動(dòng)進(jìn)行更新,也可以由SQL Server管理更新時(shí)手動(dòng)更新。
聲明: 本文由我的SEOUC技術(shù)文章主頁(yè)發(fā)布于:2023-05-23 ,文章淺談SQL Server中統(tǒng)計(jì)對(duì)于查詢的影響分析建站知識(shí)主要講述淺談,標(biāo)簽,SQL網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請(qǐng)保留鏈接: http://www.bifwcx.com/article/web_5552.html
為你推薦與淺談SQL Server中統(tǒng)計(jì)對(duì)于查詢的影響分析建站知識(shí)相關(guān)的文章
-
通王TWCMS 2.0.3網(wǎng)站模板程序下載
(126)人喜歡 2024-01-15 -
Windows官方原版在哪里下載
(175)人喜歡 2024-01-15 -
WordPress網(wǎng)站模板發(fā)帖標(biāo)題顏色設(shè)置
(131)人喜歡 2024-01-07 -
修改discuz論壇帖子標(biāo)題80字符的長(zhǎng)度限制
(249)人喜歡 2024-01-07 -
wordpress程序調(diào)用不帶超鏈接的Tag標(biāo)簽
(234)人喜歡 2024-01-05 -
網(wǎng)站在不同時(shí)期需調(diào)整內(nèi)容更新的方向
(112)人喜歡 2023-08-12