欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

數(shù)據(jù)庫(kù)索引與全表掃描有什么區(qū)別

本篇內(nèi)容主要講解“數(shù)據(jù)庫(kù)索引與全表掃描有什么區(qū)別”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“數(shù)據(jù)庫(kù)索引與全表掃描有什么區(qū)別”吧!

創(chuàng)新互聯(lián)專(zhuān)注為客戶(hù)提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、長(zhǎng)寧網(wǎng)絡(luò)推廣、重慶小程序開(kāi)發(fā)、長(zhǎng)寧網(wǎng)絡(luò)營(yíng)銷(xiāo)、長(zhǎng)寧企業(yè)策劃、長(zhǎng)寧品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供長(zhǎng)寧建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:chinadenli.net

磁盤(pán)結(jié)構(gòu)和基本耗時(shí)

磁盤(pán)的組織結(jié)構(gòu) 盤(pán)片->磁道->扇區(qū)。由于盤(pán)片是并行操作的,因此可以忽略尋找盤(pán)片的時(shí)間。所以基本上要找一個(gè)數(shù)據(jù)需要找到對(duì)應(yīng)的磁道(類(lèi)似樹(shù)的年輪),再找對(duì)應(yīng)的扇區(qū)(一段扇形)。

磁盤(pán)性能的主要度量指標(biāo)有以下幾個(gè):

訪問(wèn)時(shí)間:從發(fā)出讀寫(xiě)請(qǐng)求到數(shù)據(jù)開(kāi)始傳輸之間的時(shí)間。也就是磁盤(pán)定位數(shù)據(jù)的時(shí)間,在程序中就是那個(gè) seek。訪問(wèn)時(shí)間包括尋道時(shí)間(找磁道)和旋轉(zhuǎn)等待時(shí)間(找扇區(qū))。一般在幾毫秒級(jí)。

數(shù)據(jù)傳輸率:在定位數(shù)據(jù)之后。就開(kāi)始將數(shù)據(jù)從磁盤(pán)和內(nèi)存之間傳輸了。這個(gè)時(shí)間一般每秒幾十MB。

順序訪問(wèn) vs 隨機(jī)訪問(wèn)

磁盤(pán)上的文件是一塊一塊組織的,這里的塊(block)是邏輯概念,可能512字節(jié)到幾KB。從磁盤(pán)讀數(shù)據(jù)需要一塊一塊讀。即使你只讀1Byte數(shù)據(jù),也會(huì)讀一塊。

順序訪問(wèn):連續(xù)訪問(wèn)磁盤(pán)相鄰的塊。這樣磁盤(pán)只需要一次磁盤(pán)尋道。

隨機(jī)訪問(wèn):隨機(jī)訪問(wèn)磁盤(pán)不同位置的塊,一般每次只讀少量數(shù)據(jù)。這樣磁盤(pán)每處理一個(gè)隨機(jī)訪問(wèn)請(qǐng)求就需要一次磁盤(pán)尋道。隨機(jī)訪問(wèn)的效率遠(yuǎn)低于順序訪問(wèn)。

存儲(chǔ)模型

硬件:磁盤(pán)數(shù)據(jù)傳輸率記做 T,平均訪問(wèn)時(shí)間記為 S。

數(shù)據(jù):一個(gè)包含 N 個(gè)數(shù)據(jù)的數(shù)據(jù)集,數(shù)據(jù)是可比較的。數(shù)據(jù)在磁盤(pán)上無(wú)序存儲(chǔ),數(shù)據(jù)均勻分布。每個(gè)數(shù)據(jù)所占空間為 X,那么數(shù)據(jù)的總大小為 NX。

這張圖表示數(shù)據(jù)在磁盤(pán)上的存放順序:

數(shù)據(jù)庫(kù)索引與全表掃描有什么區(qū)別

索引:在數(shù)據(jù)上建立索引,索引可以看成數(shù)據(jù)的一種映射,一種表示方式。可以全部放在內(nèi)存中,并且精確定位原始數(shù)據(jù)。

查詢(xún)流程

查詢(xún)模式:查詢(xún)有過(guò)濾條件,假設(shè)過(guò)濾條件的選擇度為 F,意思是查詢(xún)結(jié)果集占總數(shù)據(jù)量的 F 倍,F(xiàn) 處于 [0,1] 之間。

現(xiàn)在有兩種查詢(xún)方式:全表掃描、索引。全表掃描和索引都是邏輯概念。

全表掃描:最簡(jiǎn)單的查詢(xún)操作。即將數(shù)據(jù)從磁盤(pán)上一個(gè)個(gè)讀到內(nèi)存中做過(guò)濾,最后返回結(jié)果。這種方式的特點(diǎn)是不管數(shù)據(jù)有沒(méi)有用,都先讀出來(lái),磁盤(pán)讀取數(shù)據(jù)總量大,但是seek只有一次。對(duì)應(yīng)磁盤(pán)的順序訪問(wèn)

黃色表示需要從磁盤(pán)讀到內(nèi)存中的數(shù)據(jù),全表掃描時(shí)候就是這樣:

數(shù)據(jù)庫(kù)索引與全表掃描有什么區(qū)別

全表掃描總耗時(shí) = IO耗時(shí) = NX/T

索引:由于磁盤(pán)上數(shù)據(jù)是亂序的,我們建一個(gè)B+樹(shù)索引,并在內(nèi)存中維護(hù)索引,索引將所有數(shù)據(jù)排序,并記錄對(duì)應(yīng)的磁盤(pán)位置。在查詢(xún)時(shí),首先在索引上過(guò)濾出所有結(jié)果集在磁盤(pán)上的位置,再到磁盤(pán)上去精確讀取結(jié)果集。這種包括少量的磁盤(pán)IO+大量的 seek。對(duì)應(yīng)磁盤(pán)的隨機(jī)訪問(wèn)

效果圖如下圖:磁盤(pán)的操作為定位一個(gè)數(shù)據(jù),讀取,再定位下一個(gè)數(shù)據(jù)......

數(shù)據(jù)庫(kù)索引與全表掃描有什么區(qū)別

Seek耗時(shí):NFS

IO耗時(shí):NFX/T

索引查詢(xún)總耗時(shí) = Seek耗時(shí) + IO 耗時(shí) = NFS + NFX/T

比較

接下來(lái)看看這些參數(shù),在不考慮更新硬件時(shí),磁盤(pán)吞吐率 T、平均訪問(wèn)耗時(shí) S、數(shù)據(jù)量 N、每個(gè)數(shù)據(jù)大小 X都是常量,沒(méi)得改。

一共就 NTFSX 五個(gè)參數(shù),接下來(lái)只有 F了,這個(gè)東西是個(gè)變量,取決于查詢(xún)過(guò)濾條件。比如你想查身高150以上的男生,這個(gè)過(guò)濾條件就沒(méi)啥區(qū)分度,可能 F=0.8,大部分都會(huì)被選出來(lái),但是如果查190以上的男生,可能 F=0.1,只有一小部分會(huì)被選出來(lái)。

有區(qū)別就有不同的應(yīng)對(duì)措施,我們可以根據(jù) F選擇查索引還是全表掃描。直接算一下什么時(shí)候索引查詢(xún)比全表掃描快,也就是下邊這個(gè)式子:

NFS + NFX/T < NX/T

即:F < X / (TS+X)

可以看到,跟總數(shù)據(jù)量沒(méi)關(guān)系,當(dāng) F 足夠小的時(shí)候,選擇索引比較好。如果結(jié)果集比較多,seek過(guò)多,那么全表掃描是更優(yōu)的。

例子

舉個(gè)實(shí)際例子感受一下:

平均Seek時(shí)間: S=5 ms

磁盤(pán)吞吐率:T=300 MB/s

單個(gè)數(shù)據(jù)大小:X=128 Byte

這個(gè)時(shí)候,過(guò)濾條件的選擇度需要小于 0.008%。

到此,相信大家對(duì)“數(shù)據(jù)庫(kù)索引與全表掃描有什么區(qū)別”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

分享題目:數(shù)據(jù)庫(kù)索引與全表掃描有什么區(qū)別
轉(zhuǎn)載注明:http://chinadenli.net/article2/ppcsoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT網(wǎng)站設(shè)計(jì)公司Google做網(wǎng)站小程序開(kāi)發(fā)網(wǎng)頁(yè)設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)