今天面試時被問到索引的原理,之前在學習資料庫的時候,研究了一下,但是不經常使用,或者說使用建立索引的時候也就是幾句命令,所以對原理性的東西並沒有掌握。
因此用一篇簡短的文章來簡單回顧一下索引的基本知識,等抽空研究原理。
首先說說什麼是索引,類似與書的目錄。
概念:1.索引是對資料庫表中一列或多列的值進行排序的一種資料結構。使用索引可以快速訪問資料庫中表的特定資訊。
2.在關聯式資料庫中,索引是一種與表有關的資料庫結構。可以使對應表的sql執行得更快
3.索引提供指向儲存在表的制定列中的資料值的指標,然後根據指定的排序順序對這些指標進行排序
索引的缺點:
1.占用物理空間
2.當對表中的資料進行增加、刪除或者修改的時候,索引也要動態的維護,降低效率
索引型別(這裡寫了三種):
1.唯一索引:不允許任何兩行具有相同值的索引,例如為學生表的身份證建立唯一索引,任何兩個學生的身份證都不能相同。通常為了獲得更佳的效果,建議改用主鍵或者唯一約束
2.主鍵索引:先說說什麼是主鍵,主鍵就是一條記錄的乙個或多個字段,這些欄位的值可以唯一標誌這條記錄。主鍵索引是唯一索引的特定型別。該索引要求主鍵中的每個鍵都有唯一值
3.聚集索引(這個我沒有理解,以後會專門寫一篇):聚集索引基於聚集索引鍵按順序排序和儲存表或檢視中的資料行。聚集索引按 b 樹索引結構實現,b 樹索引結構支援基於聚集索引鍵值對行進行快速檢索。
mysql索引簡單介紹
索引從本質上來說也是一種表,這樣的表儲存被列為索引的列項值和指向真正完整記錄的指標。索引對使用者透明。僅僅被資料庫引擎用來加速檢索真實記錄。有索引的表。insert和update操作會耗費很多其它時間而select則會變快。由於insert和update操作同一時候也要insert和update索引...
正排索引和倒排索引簡單介紹
在搜尋引擎中,資料被爬取後,就會建立index,方便檢索。在工作中經常會聽到有人問,你這個index是正排的還是倒排的?那麼什麼是正排呢?什麼又是倒排呢?下面是一些簡單的介紹。網頁a中的內容片段 tom is a boy.tom is a student too.網頁b中的內容片段 jon work...
Oracle 索引 index 簡單介紹
1.索引分類 a 唯一索引,作用是資料約束,保證資料唯一,還有就是資料索引,提高查詢效率 b 一般索引,只有資料索引的作用,2.唯一索引的建立 create unique index 索引名 on 表名 欄位名 ok,假設有乙個emploeyy表,裡面有乙個empname欄位,我們來為empname...