資料庫索引的相關問題

2022-03-09 07:23:03 字數 1180 閱讀 7060

1樓:在雍和宮哈哈大笑的白茶

在合適的列上建立索引 是會大大提高查詢的速度,但是有利就有弊,當一張表中有大量索引的時候,在進行dml操作的時候就會受影響,降低執行速度。

關於你對聚集索引的疑問:聚集索引根據資料行的鍵值在表或檢視中排序和儲存這些資料行。每個表只能有乙個聚集索引,因為資料行本身只能按乙個順序排序。

如果你還想建立index的話 只能是非聚集索引,有聚集索引的情況下再想建立第二個的話 是會報錯的。

lz應該考慮的問題是:為什麼index會提高查詢資料的速度,在表中那個列上建立索引是較優的。

關於「兩個聚集索引時,是不是會把主鍵的聚集索引刪掉」這類的問題 做個實驗就完全可以解決了

2樓:匿名使用者

聚集索引:

該索引中鍵值的邏輯順序決定了表中相應行的物理順序。

如果用 新華字典 作例子來乙個例子的話。

[拼音]就可以看作是聚集索引

例如 吖、阿、啊 在字典的最前面。

左、作、坐 在字典的最後面。

拼音[邏輯順序]很接近,在字典中頁數的位置[物理順序]也很接近。

適用場合:

含有大量非重複值的列

使用between,>,>=,《或<=返回乙個範圍值的列被連續訪問的列

返回大型結果集的查詢

經常被使用連線或group by子句的查詢訪問的列非聚集索引:

非聚集索引與聚集索引一樣有 b 樹結構,但是有兩個重大差別:

資料行不按非聚集索引鍵的順序排序和儲存。

非聚集索引的葉層不包含資料頁。

相反,葉節點包含索引行。每個索引行包含非聚集鍵值以及乙個或多個行定位器,

這些行定位器指向有該鍵值的資料行(如果索引不唯一,則可能是多行)。

如果用 新華字典 作例子來乙個例子的話。

[筆畫]就可以看作是非聚集索引

例如 化 仇 仃 僅 仂 這幾個字,都是 單人旁,筆畫數相同的。

筆畫[邏輯順序]很接近,在字典中頁數的位置[物理順序]則在不同的位置上。

適用場合:

含有大量非重複值的列

非連續訪問的列

返回小型結果集的查詢

3樓:匿名使用者

(三)簡答題:簡述分割槽表和分割槽索引的優點。 (一) 索引類似字典以及書籍的目錄,索引的作用就是加快檢索資料的速度,提高效率,索引分類為:邏輯上:

oracle資料庫問題使用索引

建立索引語法看下面引用的內容 建立好索引之後你查詢過程中資料庫會自己使用的。索引介紹 1.1 索引的建立語法 create uniuqe bitmap index on asc desc,asc desc,tablespace storage logging nologging compute st...

為什麼建立索引能提高資料庫效能,資料庫索引為什麼會提高查詢速度?

說的明白點,把乙個表看成是乙個字典,字典總用過的把,裡面除了單詞資訊,還有乙個很重要的東西,就是檢索目錄,比如,拼音檢索,偏旁檢索,筆畫檢索之類,資料庫裡面表的索引就可以看成是檢索目錄,一種檢索代表乙個索引 資料庫中會單獨劃一塊空間或者檔案來儲存索引資訊,就像字典這樣,前面幾十頁用於儲存檢索目錄,通...

資料庫正規化的問題,資料庫正規化的問題

樓上的回答不對。包含在任何乙個候選碼中的屬性稱為主屬性 可以這麼理解 如果一張表中有多個候選碼,那麼任意乙個候選碼或者幾個候選碼的組合都可以作為主鍵。你的例子中說了 sno,cno 組成候選碼。那麼,既然這張表只有乙個候選碼,那麼主鍵只能是 sno,cno 而不能是單個的sno或cno。用乙個反例來...