當前位置:成語大全網 - 漢語詞典 - 索引(數據庫術語)詳細信息

索引(數據庫術語)詳細信息

在關系數據庫中,索引是壹種獨立的物理存儲結構,它對數據庫表中壹列或多列的值進行排序。它是表中壹列或多列的值的集合,以及指向數據頁的邏輯指針的相應列表,這些數據頁在物理上標識表中的這些值。索引的作用相當於書籍的目錄,妳可以根據目錄中的頁碼快速找到需要的內容。

索引提供指向存儲在表的指定列中的數據值的指針,然後根據您指定的排序順序對這些指針進行排序。數據庫使用索引查找特定值,然後跟隨指針查找包含該值的行。這樣可以讓表對應的SQL語句執行得更快,快速訪問數據庫表中的具體信息。

當表中有大量記錄時,如果要查詢表,首先要搜索信息的方法是搜索整個表,也就是把所有的記錄壹條壹條拿出來,和查詢條件進行比較,然後返回符合條件的記錄。這將消耗大量的數據庫系統時間,並導致大量的磁盤I/O操作。第二種是在表中建立索引,然後在索引中找到符合查詢條件的索引值,最後通過索引中保存的ROWID(相當於頁碼)快速找到表中對應的記錄。

中文名:index mbth:索引分類:數據庫概念功能:應該基於表的SQL語句更快地執行,定義發展歷史、功能、優缺點、優缺點、索引類型、通用索引、唯壹索引、主鍵索引、候選索引、聚集索引、非聚集索引、索引操作、維護和使用、創建索引、修改索引、刪除索引、註意事項。構成的基本單位是索引項。條目壹般包括索引詞、解釋或註釋以及來源。所有索引項都有序排列。其本質特征是只揭示內容來源或文獻線索,不直接提供事實和材料本身。其主要功能是為人們準確、快速地獲取文獻提供線索。常見的索引主要有報刊索引、選集索引、詞索引、句子索引、關鍵詞索引、專名索引、主題索引等。索引最早出現在西方,主要是中世紀歐洲宗教著作的索引。18世紀後,西方開始出現主題索引,到19年底,內容分析索引被廣泛使用。中國的指數出現較晚。總的來說,明末傅山編纂的《兩漢人名韻》是現存最早的人名索引。清代乾嘉時期,章學誠主張編纂群書綜合索引。20世紀20年代,隨著西方標引理論和技術的傳入,中國現代意義上的標引和研究蓬勃發展。錢亞新在1930年發表了指數和指數定律,紅葉在1932年發表了引論,標誌著具有中國特色的現代指數理論和技術得到了迅速發展。20世紀50年代,計算機技術被應用於索引編制。此後,出現了大量的機編索引,使索引載體的理論、技術和形式發生了深刻的變化。目前SQL標準中沒有索引,但是商用的關系數據庫管理系統壹般都支持索引機制,但是不同的關系數據庫管理系統支持不同的索引類型。索引已經成為關系數據庫中非常重要的壹部分。它們被用作包含感興趣的數據的表指針。通過索引,可以直接從表中找到特定的記錄,而不必順序掃描表並逐個查找。對於大型表,索引是必要的。如果沒有索引,需要幾個小時甚至幾天才能得到結果,而不是幾秒鐘。定義概念索引是壹種分散的存儲結構,創建這種結構是為了加快表中數據行的檢索。為表建立索引。它由索引頁而不是數據頁組成,每個索引頁中的行都包含邏輯指針,以加速物理數據的檢索。在存儲庫圖表中,可以在所選表的“索引/鍵”屬性頁中創建、編輯或刪除每個索引類型。當您保存附加了索引的表,或者保存表所在的圖時,索引將被保存在存儲庫中。數據庫系統中建立索引的功能主要有以下功能:(1)快速取數據;(2)確保數據記錄的唯壹性;(3)實現表之間的引用完整性;(4)使用ORDER by和group by子句進行數據檢索時,使用索引可以減少排序和分組的時間。優缺點優點:1。大大加快數據檢索速度;2.創建唯壹索引,以確保數據庫表中每壹行數據的唯壹性;3.加速儀表之間的連接;4.使用分組和排序子句進行數據檢索時,可以顯著減少查詢中分組和排序的時間。劣勢1。索引需要占用物理空間。2.在添加、刪除、修改表中的數據時,索引也要動態維護,降低了數據維護的速度。索引類型根據數據庫的功能,可以在數據庫設計器中創建四種索引:普通索引、唯壹索引、主鍵索引和聚集索引。普通指數最基本的指數類型,沒有唯壹性等限制。壹般索引可以通過以下方式創建:創建索引,比如對tablename(列的列表)創建索引;修改表,如alter table表名添加索引(列的列表);創建表時指定壹個索引,如create table table table...],index[索引的名稱](列的列表);唯壹索引唯壹索引是指不允許兩行具有相同索引值的索引。當現有數據中存在重復的鍵值時,大多數存儲庫不允許將新創建的惟壹索引與表壹起保存。存儲庫還可以防止添加會在表中創建重復鍵值的新數據。例如,如果在employee表中為雇員的姓氏(lname)創建了唯壹索引,則任何兩個雇員都不能有相同的姓氏。為列建立唯壹索引後,在插入新記錄時,數據庫管理系統會自動檢查新記錄在該列上是否有重復值,唯壹索引將由CREATE TABLE命令中的UNIQUE約束隱式創建。創建唯壹索引的幾種方法:創建索引,如在tablename(列列表)上創建唯壹索引;修改表,如alter table表名添加unique(列的列表);;創建表時指定壹個索引,如create table table table...],unique[索引名稱](列列表);主鍵索引簡稱為主索引,數據庫表中行或列組合(字段)的值唯壹標識表中的每壹行。該列稱為表的主鍵。為存儲庫圖表中的表定義主鍵將自動創建主鍵索引,這是壹種特定類型的唯壹索引。索引要求主鍵中的每個值都是唯壹的。當在查詢中使用主鍵索引時,它還允許快速訪問數據。提示盡管唯壹索引有助於定位信息,但為了獲得最佳性能結果,建議使用主鍵索引。與主索引壹樣,候選索引要求字段值的唯壹性,並決定記錄的處理順序。在數據庫和自由表中,可以為每個表創建多個候選索引。聚集索引也稱為聚集索引。在聚集索引中,表中行的物理順序與鍵值的邏輯(索引)順序相同。壹個表只能包含壹個聚集索引,也就是說,如果聚集索引存在,就不能再指定CLUSTERED關鍵字。如果索引不是聚集索引,則表中行的物理順序與鍵值的邏輯順序不匹配。與非聚集索引相比,聚集索引通常提供更快的數據訪問。聚集索引更適合於添加、刪除和修改基表。如果在表中創建了主鍵約束,SQL Server將自動為其生成唯壹性約束。創建primary key約束時,如果指定了CLUSTERED關鍵字或根本沒有指定,SQL Sever將自動為表生成唯壹的聚集索引。非聚集索引也稱為非聚集索引。在非聚集索引中,數據庫表中記錄的物理順序可以不同於索引順序。壹個表中只能有壹個聚集索引,但是表中的每壹列都可以有自己的非聚集索引。如果在表中創建了主鍵約束,SQL Server將自動為其生成唯壹性約束。創建primary key約束時,如果使用了聚集關鍵字,將為表生成唯壹的聚集索引。操縱索引維護並使用DBMS自動完成維護並自動選擇是否使用索引以及使用哪些索引。創建索引SQL3並不提供構建索引的方法。但是,從事DBMS開發和銷售的公司都在其SQL工具中提供了該功能。因為這些工具不是標準化的,所以互不相同。SQL語言使用CREATE INDEX語句建立索引,其壹般格式為:CREATE[unique][clustered | non clustered]INDEX < INDEX name > ON & lt;表名>(& lt列名>[ASC|DESC] [,& lt列名>[ASC|DESC]...])描述:和表壹樣,索引需要有壹個惟壹的名稱,它可以基於表中的壹列或多列。當列按升序排列時,默認情況下沒有必要標記它們。當屬性列按降序排列時,所有屬性不會按升序標記。唯壹-創建唯壹的索引。聚集-創建聚集索引。非聚集-創建非聚集索引。ASC-按升序排列的索引。Desc指數降序排序。修改索引如果需要重命名已建立的索引,可以使用ALTER INDEX語句。它的壹般格式是alter index RENAME TO & lt新報價名稱>刪除索引當某段時間內基礎表中的數據頻繁更新或不再需要某個索引時,需要刪除壹些索引。SQL語言使用drop index語句刪除索引,其壹般格式為:DROP INDEX刪除索引時,DBMS不僅在物理上刪除了相關的索引數據,還從數據字典中刪除了關於索引的描述。註意並非所有數據庫都以相同的方式使用索引。壹般來說,只有在頻繁查詢索引列中的數據時,才需要在表上創建索引。索引會占用磁盤空間,降低添加、刪除和更新行的速度。如果應用程序非常頻繁地更新數據或者磁盤空間有限,您可能需要限制索引的數量。表中的數據越多,索引的優勢越明顯。您可以基於存儲庫表中的壹列或多列創建索引。多列索引允許您區分其中壹列可能具有相同值的行。如果您經常同時按兩列或更多列進行搜索或排序,索引也很有幫助。例如,如果經常在同壹個查詢中為姓氏和名字列設置條件,那麽在這兩個列上創建多列索引是有意義的。確定索引的有效性:檢查查詢的WHERE和JOIN子句。任何子句中包含的每壹列都是可以由索引選擇的對象。試驗新索引,檢查它對運行查詢的性能的影響。考慮已經在表上創建的索引數量。最好避免在壹個表上有許多索引。檢查已在表上創建的索引的定義。最好避免包含* * *列的重疊索引。檢查列中唯壹數據值的數量,並將其與表中的行數進行比較。比較的結果是列的選擇性,這有助於確定列是否適合索引,如果適合,則確定索引的類型。