關鍵區別–**索引與非**索引
在關係數據庫中,數據存儲在表中。這些表使用諸如外鍵之類的約束相互關聯。數據庫由多個表組成。有時很難搜索到所需的數據。因此,索引可以用來加快搜索速度。數據庫中使用的索引類似於一本書的索引。一本書的索引包含有相應頁碼的章節。數據庫的索引與此類似。索引的結構類似於表,並且需要一些數據庫空間。有兩種類型的索引稱為**索引和非**索引。在**索引中,索引的邏輯順序與錶行的物理順序相匹配。在非**索引中,索引和實際數據位於不同的位置,因此索引的工作方式類似於獲取實際數據的指針。**索引和非**索引的關鍵區別在於**索引組織實際數據,而非**索引指向實際數據。當索引較多時,當數據存儲增加時,也應更新這些索引。因此,根據應用程序創建索引非常重要,因為這會降低速度。
目錄
1. 概述和主要區別
2. **索引是什麼
3. 什麼是非**索引
4. **索引與非**索引的相似性
5. 並排比較–以表格形式顯示**索引與非**索引
6. 摘要
什麼是**索引(clustered index)?
在**索引中,索引組織實際數據。它類似於電話簿。電話號碼是按字母順序排列的。在搜索特定姓名時,可以找到相應的電話號碼。因此,聚類索引以有組織的方式包含實際數據。每個表可以有一個索引。
主鍵用於指定表中的每個條目。在student表中,student id可以用作主鍵。在customer表中,customer iu id可以是主鍵。一般來說,可以考慮使用主鍵來創建**索引。基本上,在**索引中,由於索引邏輯順序和表順序相同,所以數據訪問是系統的、快速的。
什麼是非**指數(nonclustured index)?
在非**索引中,索引指向實際數據。非**索引是對數據的引用。因此,每個表可以有多個索引。非**索引的一個例子是一本書,它包含了帶有標題和相應頁碼的主索引,或者在書的末尾包含了按字母順序排列的重要術語和相應頁碼的索引。此索引不包含實際數據。但它提供了獲取實際數據所需的信息。因此,索引和數據位於不同的位置。因此,它需要額外的存儲空間。
當存在主鍵以外的鍵時,使用非**索引。通常,非**索引比**索引慢。
什麼是**索引與非**索引的相似性(the similarity between clustered and nonclustered index)?
- **索引和非**索引都是用於有效搜索數據的索引類型。
叢生的(clustered)和非**索引(nonclustered index)的區別
**索引與非**索引 | |
**索引是一種索引類型,其中表記錄被物理地重新排序以匹配索引。 | 非**索引是一種包含對實際數據的引用的索引類型。 |
索引數 | |
每個表可以有一個**索引。 | 每個表可以有許多非**索引。 |
速度 | |
**索引比非**索引快。 | 非**索引比**索引慢。 |
所需空間 | |
**索引不需要額外的空間。 | 非**索引需要額外的空間。 |
總結 - 叢生的(clustered) vs. 非**索引(nonclustered index)
關係數據庫包含大量數據。因此,有一個特定的機制來快速搜索數據是很重要的。索引可以用來完成這個任務。有兩種類型的索引。它們是**索引和非**索引。本文討論了**索引與非**索引的區別。在**索引中,索引的邏輯順序與錶行的物理順序相匹配。在非**索引中,索引和實際數據位於不同的位置,因此有指針來獲取數據。**索引和非**索引的區別在於**索引組織實際數據,而非**索引指向實際數據。