国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

索引

2019-11-09 13:36:30
字體:
來源:轉載
供稿:網友

索引(Index)是幫助MySQL高效獲取數據的數據結構。索引的本質:索引是數據結構。

可以簡單理解為“排好序的快速查找數據結構”,在數據之外,數據庫系統還維護著滿足特定查找算法的數據結構,這些 數據結構以某種方式引用(指向)數據,這樣就可以在這些數據結構上實現高級查找算法。這種數據結構,就是索引。

一般來說索引本身也很大,不可能全部存儲在內存中,因此索引往往以索引文件的形式存儲在磁盤上。

我們平常所說的索引,如果沒有特別指明,都是指B樹(多路搜索樹,并不一定是二叉樹)結構組織的索引。其中聚集索引,次要索引,覆蓋索引, 復合索引,前綴索引,唯一索引默認都是使用B+樹索引,統稱索引。當然,除了B+樹這種類型的索引之外,還有哈希索引(hashindex)等。

優勢: 1、提高了數據檢索的效率,降低了數據庫的IO成本 2、通過索引列對數據進行排序,降低數據排序的成本,降低了CPU的消耗。

劣勢: 實際上索引也是一張表,該表保存了主鍵與索引字段,并指向實體表的記錄,所以索引列也是要占用空間的。 雖然索引大大提高了查詢速度,同時卻會降低更新表的速度,如對表進行insert、update、delete。 因為更新表時,MySQL不僅要保存數據,還要保存一下索引文件,每次更新添加了索引列的字段,都會調整因為更新所帶來的鍵值變化后的索引信息。 索引只是提高效率的一個因素,如果你的MySQL有大數據量的表,就需要花時間研究建立最優秀的索引。

索引分類:

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

唯一索引:索引列的值必須唯一,但允許有空值

復合索引:

那些情況下需要建立索引:

1、主鍵自動建立唯一索引

2、頻繁作為查詢條件的字段應該創建索引

3、查詢中與其他表關聯的字段,外鍵關系建立索引

4、頻繁更新的字段不適合創建索引

5、where條件里用不到的字段不創建索引

6、單鍵/組合索引的選擇問題:在高并發下傾向創建組合索引

7、查詢中排序的字段,排序字段若通過索引去訪問將大大提高排序速度

8、查詢中統計或者分組字段

哪些情況下不需要建立索引:

1、表記錄太少

2、經常增、刪、改的表

3、


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 清流县| 高密市| 穆棱市| 静海县| 吉首市| 揭东县| 同德县| 安新县| 手机| 双辽市| 东兴市| 英山县| 鲁山县| 赣榆县| 滦平县| 永福县| 扶余县| 康马县| 高要市| 黄冈市| 浦东新区| 东乌珠穆沁旗| 阿克苏市| 霍城县| 安化县| 霍林郭勒市| 渭源县| 明溪县| 普兰县| 邵阳县| 桂阳县| 长泰县| 驻马店市| 象州县| 铁岭市| 广宁县| 黄冈市| 沂源县| 龙川县| 和田县| 平昌县|