一、索引
索引與書的目錄非常的相似,由數據表中的一列和多列組合組成(單列索引和組合索引),創建索引的目的是為了優化數據庫的查詢速度,提高性能的最常用的工具。其中,用戶創建索引指向數據庫中具體數據所在位置。當用戶通過查詢數據庫中的數據時,就不需要遍歷所有數據庫中的所有數據,這樣提高查詢效率。但是創建索引和維護索引需要消耗時間,這種時間會隨着數據量的增大而增大,並且索引需要占物理空間。
什么是聚簇索引?
很簡單記住一句話:找到了索引就找到了需要的數據,那么這個索引就是聚簇索引,所以一般主鍵就是聚簇索引,修改聚簇索引其實就是修改主鍵。它邏輯順序和物理順序保持一致,
什么是非聚簇索引?
索引的存儲和數據的存儲是分離的,也就是說找到了索引但沒找到數據,需要根據索引上的值(主鍵)再次回表查詢,非聚簇索引也叫做輔助索引。
唯一索引 與 主鍵
唯一索引是在表上一個或者多個字段組合建立的索引,這個(或這幾個)字段的值組合起來在表中不可以重復。一張表可以建立任意多個唯一索引,但一般只建立一個。
主鍵是一種特殊的唯一索引,區別在於,唯一索引列允許null值,而主鍵列不允許為null值。一張表最多建立一個主鍵,也可以不建立主鍵。
二、視圖
視圖作為常用的數據庫對象,視圖為數據查詢提供了一條捷徑;視圖是一個虛擬表,其內容由查詢定義,即視圖中數據並不像表和索引那樣需要占用存儲空間,視圖中保存的僅僅的僅僅是一條select語句,也就是說,只有當調用視圖的時候,才會執行視圖中的SQL語句,進行取數據操作。所有視圖的內容沒有被存儲,而是在視圖被引用的時候才會派生出數據。這樣不會占用空間,由於是即時即用,視圖的內容和原始真實表的內容一致的,所有存在當基礎表發生變化時,視圖的數據也會隨之變化。視圖可以隱藏數據,達到增加數據的安全性,可以對數據庫設置不同的視圖,不同的視圖由不同的用途,提高數據的獨立性和邏輯性。當然,視圖也能簡化查詢來提高查詢速率
三、索引和視圖的區別
索引和視圖都是作用與數據庫,都能夠達到提高查詢數據的速率的作用
最大的區別,索引需要占用物理內存
如該文章能對你有所幫助,請幫忙點個推薦和關注!謝謝!0.0
