索引是對數據庫表中壹列或多列的值進行排序的壹種結構,使用索引可快速訪問數據庫表中的特定信息。
作用:
索引提供指向存儲在表的指定列中的數據值的指針,然後根據您指定的排序順序對這些指針排序。數據庫使用索引以找到特定值,然後順指針找到包含該值的行。這樣可以使對應於表的SQL語句執行得更快,可快速訪問數據庫表中的特定信息。
分類:
1、唯壹索引
唯壹索引是不允許其中任何兩行具有相同索引值的索引。當現有數據中存在重復的鍵值時,大多數數據庫不允許將新創建的唯壹索引與表壹起保存。
2、主鍵索引
數據庫表經常有壹列或多列組合,其值唯壹標識表中的每壹行。該列稱為表的主鍵。在數據庫關系圖中為表定義主鍵將自動創建主鍵索引,主鍵索引是唯壹索引的特定類型。該索引要求主鍵中的每個值都唯壹。當在查詢中使用主鍵索引時,它還允許對數據的快速訪問。
3、聚集索引
在聚集索引中,表中行的物理順序與鍵值的邏輯(索引)順序相同。壹個表只能包含壹個聚集索引。如果某索引不是聚集索引,則表中行的物理順序與鍵值的邏輯順序不匹配。與非聚集索引相比,聚集索引通常提供更快的數據訪問速度。
4、索引列
可以基於數據庫表中的單列或多列創建索引。多列索引可以區分其中壹列可能有相同值的行。如果經常同時搜索兩列或多列或按兩列或多列排序時,索引也很有幫助。例如,如果經常在同壹查詢中為姓和名兩列設置判據,那麽在這兩列上創建多列索引將很有意義。
擴展資料:
優點:
1、大大加快數據的檢索速度。
2、創建唯壹性索引,保證數據庫表中每壹行數據的唯壹性。
3、加速表和表之間的連接。
4、在使用分組和排序子句進行數據檢索時,可以顯著減少查詢中分組和排序的時間。
缺點:
1、索引需要占物理空間。
2、當對表中的數據進行增加、刪除和修改的時候,索引也要動態的維護,降低了數據的維護速度。
百度百科--索引
百度百科--數據庫索引