資料庫 索引的使用

2021-08-14 07:19:21 字數 944 閱讀 5442

1.索引的含義和特點

(1)索引是單獨的、儲存在磁碟上的資料結構、他們包含著對資料表裡所有記錄的引用指標。

(2)通過建立唯一索引,可以保證資料庫表中每一行資料的唯一性。

(3)可以大大的加快資料的查詢速度;

(4)加速表與表之間的聯絡;

(5)減少查詢中分組和排序的時間;

(6)建立索引的維護索引需要耗費時間、並且隨著資料量的增加所耗費的時間也會增加;

(7)索引需要佔據磁碟空間,除了資料表佔資料空間之外,每乙個索引還要佔一定的物理空間。

(8)當對表中的資料進行增加、刪除和修改的時候,索引也要動態的維護,這樣就降低了資料的維護速度;

2.索引的分類

(1)普通索引的唯一索引

普通索引是mysql中的基本索引,允許在定義索引的列中插入重複值和空值;

唯一索引,索引列的值必須唯一,但是允許有空值,如果是組合索引,則列值的組合必須唯一。主鍵索引是一種特殊的唯一索引,不允許有空值。

(2)單列索引和組合索引

單列索引即乙個索引只包含單個列,乙個表可以有多個單列索引。

組合索引指在表的多個字段組合上建立的索引,只有在查詢條件中使用了這些欄位的左邊欄位時,索引才會被使用。

(3)全文索引

全文索引型別為fulltext,在定義索引的列上支援值的全文查詢,允許在這些索引列中摻入空值和重複值。全文索引可以在char、varchar、text、型別的列上建立。

(4)空間索引

空間索引是對空間資料型別字段建立的索引。

3.索引的設計原則

(1)索引並非是越多越好,乙個表中如果存在大量的索引,不僅占用磁碟空間,而且會影響插入、刪除、更新語句。

(2)避免對經常更新的表進行過多的索引,並且索引的列盡可能少。

(3)資料量小的最好不要使用索引。

(4)在條件表示式中經常用到的不同值較多的列上建立索引,在不同值很少的列上不要建立索引。

資料庫索引的使用

多列索引1 多列索引2 mysql中的多列索引。1 聯合索引又叫復合索引。對於復合索引 mysql從左到右的使用索引中的字段,乙個查詢可以只使用索引中的一部份,但只能是最左側部分。例如索引是key index a,b,c 可以支援a a,b a,b,c 3種組合進行查詢,但不支援 b,c進行查詢 當...

資料庫 索引的使用

在關聯式資料庫中,索引是一種單獨的 物理的對資料庫表中一列或多列的值進行排序的一種儲存結構,它是某個表中一列或若干列值的集合和相應的指向資料頁的邏輯指標清單。索引的作用相當於圖書的目錄,可以根據目錄中的頁碼快速找到所需的內容。索引的分類 普通索引 用表中普通的列構建的索引,沒有限制 alter ta...

資料庫索引的使用

資料庫索引好比是一本書後的索引,能加快資料庫的查詢速度。例如這樣乙個查詢 select from table1 where id 44。如果沒有索引,必須遍歷整個表,直到id等於44的這一行被找到為止 有了索引之後 必須是在id這一列上建立的索引 直接在索引裡面找44,就可以得知這一行的位置,也就是...