mysql有哪些索引 mysql 有哪些索引

2021-10-25 14:35:09 字數 1461 閱讀 4188

從資料結構角度

2、hash索引:a 僅僅能滿足"=","in"和"<=>"查詢,不能使用範圍查詢b 其檢索效率非常高,索引的檢索可以一次定位,不像b-tree 索引需要從根節點到枝節點,最後才能訪問到頁節點這樣多次的io訪問,所以 hash 索引的查詢效率要遠高於 b-tree 索引c 只有memory儲存引擎顯示支援hash索引

3、fulltext索引(現在myisam和innodb引擎都支援了)

4、r-tree索引(用於對gis資料型別建立spatial索引)

從物理儲存角度

1、聚集索引(clustered index)

2、非聚集索引(non-clustered index)

聚集索引和非聚集索引的區別如下:

1) 聚集索引和非聚集索引的根本區別是表記錄的排列順序和與索引的排列順序是否一致,聚集索引表記錄的排列順序與索引的排列順序一致,優點是查詢速度快,因為一旦

具有第乙個索引值的紀錄被找到,具有連續索引值的記錄也一定物理的緊跟其後。

2) 聚集索引的缺點是對錶進行修改速度較慢,這是為了保持表中的記錄的物理順序與索

引的順序一致,而把記錄插入到資料頁的相應位置,必須在資料頁中進行資料重排,

降低了執行速度。非聚集索引指定了表中記錄的邏輯順序,但記錄的物理順序和索引的順序不一致,聚集索引和非聚集索引都採用了b+樹的結構,但非聚集索引的葉子層並不與實際的

從邏輯角度

1、主鍵索引:主鍵索引是一種特殊的唯一索引,不允許有空值

2、普通索引或者單列索引

3、多列索引(復合索引):復合索引指多個欄位上建立的索引,只有在查詢條件中使用了建立索引時的第乙個字段,索引才會被使用。使用復合索引時遵循最左字首集合

4、唯一索引或者非唯一索引

5、空間索引:空間索引是對空間資料型別的字段建立的索引,mysql中的空間資料型別有4種,分別是geometry、point、linestring、polygon。mysql使用spatial關鍵字進行擴充套件,使得能夠用於建立正規索引型別的語法建立空間索引。建立空間索引的列,必須將其宣告為not null,空間索引只能在儲存引擎為myisam的表中建立

create table table_name[col_name data type]

[unique|fulltext|spatial][index|key][index_name](col_name[length])[asc|desc]

1、unique|fulltext|spatial為可選引數,分別表示唯一索引、全文索引和空間索引;

2、index和key為同義詞,兩者作用相同,用來指定建立索引

3、col_name為需要建立索引的字段列,該列必須從資料表中該定義的多個列中選擇;

4、index_name指定索引的名稱,為可選引數,如果不指定,mysql預設col_name為索引值;

5、length為可選引數,表示索引的長度,只有字串型別的字段才能指定索引長度;

6、asc或desc指定公升序或降序的索引值儲存

mysql 索引有哪些 mysql索引有哪些型別

mysql目前主要有的索引型別為 普通索引 唯一索引 主鍵索引 組合索引 全文索引。下面本篇文章就來給大家介紹一下這些mysql索引,希望對你們有所幫助。通過給字段新增索引可以提高資料的讀取速度,提高專案的併發能力和抗壓能力。索引優化時mysql中的一種優化方式。索引的作用相當於圖書的目錄,可以根據...

mysql有哪些索引 mysql索引有哪些

mysql索引有 1 主鍵索引,主鍵索引是一種特殊的唯一索引,不允許有空值 2 普通索引或者單列索引 3 多列索引 4 唯一索引或者非唯一索引 5 空間索引。mysql索引有哪些?1 主鍵索引 主鍵索引是一種特殊的唯一索引,不允許有空值 2 普通索引或者單列索引 3 多列索引 復合索引 復合索引指多...

mysql索引型別有哪些 MySQL有哪些索引型別

從資料結構角度 2 hash索引 a 僅僅能滿足 in 和 查詢,不能使用範圍查詢 b 其檢索效率非常高,索引的檢索可以一次定位,不像b tree 索引需要從根節點到枝節點,最後才能訪問到頁節點這樣多次的io訪問,所以 hash 索引的查詢效率要遠高於 b tree 索引 c 只有memory儲存引...