sql面試必會(huì)6題經(jīng)典 SQL中一個(gè)表可以有幾個(gè)聚集索引和非聚集索引?
SQL中一個(gè)表可以有幾個(gè)聚集索引和非聚集索引?聚集索引和非聚集索引的區(qū)別底層?實(shí)際上,索引可以理解為一種特殊的目錄。microsoftsqlserver提供了兩種索引:聚集索引和非聚集索引。接下來(lái),讓
SQL中一個(gè)表可以有幾個(gè)聚集索引和非聚集索引?
聚集索引和非聚集索引的區(qū)別底層?
實(shí)際上,索引可以理解為一種特殊的目錄。microsoftsqlserver提供了兩種索引:聚集索引和非聚集索引。接下來(lái),讓我們來(lái)說(shuō)明聚集索引和非聚集索引之間的區(qū)別:事實(shí)上,我們的漢語(yǔ)詞典本身就是一個(gè)聚集索引。例如,我們需要查“安”字,因?yàn)椤鞍病弊值钠匆羰恰鞍病保雌匆襞判虻摹稘h字詞典》以英文字母“a”開(kāi)頭,以“Z”結(jié)尾,所以“安”字自然排在詞典的前面。如果你在所有以“a”開(kāi)頭的部分后面都找不到“a”這個(gè)詞,那就意味著你的字典里沒(méi)有這個(gè)詞。也就是說(shuō),字典的主體本身就是一個(gè)目錄,您不需要查找其他目錄就可以找到您需要查找的內(nèi)容。我們把這種文本內(nèi)容本身稱(chēng)為一種按一定規(guī)則排列的目錄,稱(chēng)之為“聚集索引”。
如果遇到一個(gè)不認(rèn)識(shí)的單詞,不知道它的發(fā)音,需要根據(jù)字根找到要找的單詞,然后直接根據(jù)單詞后面的頁(yè)碼翻頁(yè)找到要找的單詞。但是,將“字根目錄”與“檢查表”結(jié)合起來(lái)對(duì)找到的單詞進(jìn)行排序并不是文本的真正排序方法。例如,查“張”字時(shí),查字根后可以看到檢查表中“張”的頁(yè)碼是672,檢查表中“張”的頂部是“Chi”,但頁(yè)碼是63,“張”的底部是“Nu”,頁(yè)碼是390。顯然,這些詞并不真正位于“張”字的上下。您現(xiàn)在看到的三個(gè)連續(xù)的單詞“Chi”、“Zhang”和“Nu”實(shí)際上是它們?cè)诜蔷奂饕械呐判颍醋值潴w中的單詞在非聚集索引中的映射。我們可以用這種方法找到您需要的單詞,但它需要兩個(gè)步驟:首先在目錄中找到結(jié)果,然后轉(zhuǎn)到您需要的頁(yè)面。我們稱(chēng)這種目錄為純目錄,純文本稱(chēng)為“非聚集索引”。
SQL Server聚集索引和非聚集索引的區(qū)別分析?
聚集索引和非聚集索引的根本區(qū)別:1。表記錄的順序與索引的順序是否一致。
2. 聚集索引只有一個(gè)表,而非聚集索引可以有多個(gè)表。
3. 聚集索引存儲(chǔ)記錄在物理上是連續(xù)的,而非聚集索引在邏輯上是連續(xù)的。
聚集索引的優(yōu)點(diǎn)如下:1。
2. 盡快對(duì)字段排序。
此列包含數(shù)量有限的不同值。
2. 查詢(xún)結(jié)果返回間隔的值。
3. 查詢(xún)結(jié)果返回大量具有相同值的結(jié)果集。
非聚集索引的優(yōu)點(diǎn):1。非聚集索引比聚集索引具有更多的層。
3. 添加記錄不會(huì)導(dǎo)致數(shù)據(jù)重新排序。
非聚集索引的用法:1。此列包含大量不同的值。
2. 查詢(xún)的結(jié)尾返回少量結(jié)果集。