資料庫 關於索引

2022-01-11 11:02:48 字數 468 閱讀 2607

. 什麼是索引:

索引就像是書的目錄,是與表或檢視關聯的磁碟上結構,可以加快從表或檢視中檢索行的速度。索引中包含由表或檢視中的一列或多列生成的鍵。這些鍵儲存在乙個結構(btree)中,使sql可以快速有效地查詢與鍵值關聯的行。

2. 為什麼要建立索引,即索引的優點:

①  建立索引的列可以保證行的唯一性,生成唯一的rowid

②  建立索引可以有效縮短資料的檢索時間

③  建立索引可以加快表與表之間的連線

④  為用來排序或者是分組的字段新增索引可以加快分組和排序順序

3. 索引的缺點:

①  建立索引和維護索引需要時間成本,這個成本隨著資料量的增加而加大

②  建立索引和維護索引需要空間成本,每一條索引都要佔據資料庫的物理儲存空間,資料量越大,占用空間也越大(資料表佔據的是資料庫的資料空間)

③  會降低表的增刪改的效率,因為每次增刪改索引需要進行動態維護,導致時間變長

關於資料庫索引

i mysql資料庫索引型別 1 唯一索引 不允許表中任意兩行具有相同值的索引。2 非唯一索引 允許其中任何兩行具有相同索引值的索引。3 主鍵索引 資料庫表中有一列或列組合,其值唯一標識表中的每一行。4 聚集索引 表中記錄的物理順序與索引的順序一致。一張表只能有乙個聚集索引。5 非聚集索引 表中記錄...

關於資料庫反向索引

反向索引與平時的常用索引不同的是,它將要增加索引的列的資料按位元組顛倒 相當於reverse 存放,比如要存的資料為 12345 12346 12347 12348 反轉為 54321 64321 74321 84321 這樣存的好處是 解決樹的傾斜問題,而且可以解決在大量io操作的情況下,防止硬碟...

關於資料庫的索引

經常需要進行更新操作的屬性 1 表的主鍵 外來鍵必須有索引 2 資料量超過300的表應該有索引 3 經常與其他表進行連線的表,在連線欄位上應該建立索引 4 經常出現在where子句中的字段,特別是大表的字段,應該建立索引 5 索引應該建在選擇性高的字段上 6 索引應該建在小字段上,對於大的文字字段甚...