一区二区三区电影_国产伦精品一区二区三区视频免费_亚洲欧美国产精品va在线观看_国产精品一二三四

聯系我們 - 廣告服務 - 聯系電話:
您的當前位置: > 關注 > > 正文

什么是數據庫索引?MySQL官方對索引的定義及索引優劣勢分析

來源:CSDN 時間:2023-03-07 11:45:01

1、索引

1.1、索引概述:

MySQL官方對索引的定義:索引(index)是幫助MySQL高效獲取數據的數據結構(有效),在數據之外,數據庫系統還維護著滿足特定查找算法的數據結構,這些數據結構以某種方式引用(指向)數據, 這樣就可以在這些數據結構上實現高級查找算法,這種數據結構就是索引。簡而言之:幫助MySQL高效的查詢出數據的數據結構叫做索引。


【資料圖】

一般來說,索引本身也很大,不可能全部都存儲在內存中,因此索引一般都是以索引文件的形式存儲在磁盤上。索引是數據庫用來提高性能最好的方式。

1.2、索引優劣勢

優勢:

索引類似于書籍的目錄,提高數據檢索的效率,減少數據庫IO的成本通過索引列對數據進行排序,降低數據排序的成本,降低CPU的消耗

劣勢:

實際上索引也是一張表,存儲在磁盤上,該表保存了主鍵與索引字段,并指向實體類的記錄。雖然索引大大提高了查詢的速度,但是降低了增刪改的速度,對表進行update、insert、delete時,需要對索引文件進行更新

1.3、索引結構

索引是在MySQL的存儲引擎中實現的,而不是服務層實現的。所以每種存儲引擎的索引都是不一樣的,也不是所有的存儲引擎都支持所有的索引類型。MySQL目前提供了以下4種索引:

BTREE 索引: 最常見的索引類型,大部分索引都支持 B 樹索引。HASH 索引:只有Memory引擎支持 , 使用場景簡單 。R-tree 索引(空間索引):空間索引是MyISAM引擎的一個特殊索引類型,主要用于地理空間數據類型,通常使用較少,不做特別介紹。Full-text (全文索引):全文索引也是MyISAM的一個特殊索引類型,主要用于全文索引,InnoDB從Mysql5.6版本開始支持全文索引。

MyISAM、InnoDB、Memory三種存儲引擎對各種索引類型的支持

索引InnoDB引擎MyISAM引擎Memory引擎

BTREE索引支持支持支持

HASH 索引不支持不支持支持

R-tree 索引不支持支持不支持

Full-text5.6版本之后支持支持不支持

在平常,如果沒有特殊的說明,都是使用B+樹結構組織的索引。其中聚集索引、復合索引、前綴索引、唯一索引默認都是使用 B+tree 索引。

1.3.1、BTREE樹

Btree樹的特點:

BTree又叫多路平衡搜索樹,一顆m叉的BTree特征如下:

樹中每個節點最多包含m個孩子除根節點與葉子節點外,每個節點至少有[ceil(m/2)]個孩子若根節點不是葉子節點,至少含有兩個孩子所有的葉子節點都在同一層每個非葉子節點由n個key與n+1個指針組成,其中[ceil(m/2)-1]<=n<=m-1

舉個例子,以3叉BTree為例,插入1~10數字

(1)、插入1,2的時候

(2)、插入3 (3)、插入4 (4)、插入5 (5)、插入6 (6)、插入7 (7)、插入8 (8)、插入9 (9)、插入10

1.3.2、B+TREE樹

B+Tree為BTree的變體,B+Tree與Tree的區別為:

n叉B+Tree最多含有n個key,而BTree最毒含有n-1個key。B+Tree的葉子節點保存所有的key信息,依key大小順序排列。所有的非葉子節點都可以看作是key的索引部分。

在數據庫的聚集索引(Clustered Index)中,葉子節點直接包含衛星數據。在非聚集索引(NonClustered Index)中,葉子節點帶有指向衛星數據的指針。

1.3.2、MYSQL中的B+Tree

MySql索引數據結構對經典的B+Tree進行了優化。在原B+Tree的基礎上,增加一個指向相鄰葉子節點的鏈表指針,就形成了帶有順序指針的B+Tree,提高區間訪問的性能。

1.4、索引分類

(1)、單值索引:及一個索引值包含單個列,一個表可以有多個單列索引 (2)、唯一索引:索引列的值必須唯一,但允許有控制 (3)、復合索引:即一個索引包含多個列

1.5、索引的用法

創建索引

CREATE [UNIQUE|FULLTEXT|SPATIAL]  INDEX index_name [USING  index_type]ON tbl_name(index_col_name,...)

查看索引

show index  from  table_name;

刪除索引

DROP  INDEX  索引名稱  ON  表名;

一些alter命令

1). alter  table  tb_name  add  primary  key(column_list); 該語句添加一個主鍵,這意味著索引值必須是唯一的,且不能為NULL2). alter  table  tb_name  add  unique index_name(column_list);這條語句創建索引的值必須是唯一的(除了NULL外,NULL可能會出現多次)3). alter  table  tb_name  add  index index_name(column_list);添加普通索引, 索引值可以出現多次。4). alter  table  tb_name  add  fulltext  index_name(column_list);該語句指定了索引為FULLTEXT, 用于全文索引

1.6、索引的設計原則

我們在設計索引的時候,有一些原則,創建索引的以后盡量符合這些原則。便于提升索引的使用效率,更高效的使用索引:

對于查詢頻率比較高的列,可以設置為索引列索引字段的選擇,最佳應從where條件語句中提取,如果where子句中組合比較多,那么應當挑選最常用、效率效果最好的列的組合使用唯一索引,區分度越高,使用索引的效率越高索引可以有效的提升查詢數據的效率,但是并不是索引越多越好,索引越多,維護起來月麻煩。對于DML操作而言,會引起相當高的維護代價,可以使用段索引,索引創建之后也是使用磁盤來進行存儲的,因此提升索引訪問的I/O效率,也可以提升總體的訪問效率。假如構成索引的字段的總長度比較短,那么在給定大小的存儲塊可以存儲更多的索引值,相應的可以有效的提升MySQL訪問索引的I/O效率利用最左前綴,N個列組合而成的組合索引,那么相當于是創建了N個索引,如果查詢時where子句中使用了組成該索引的前幾個字段,那么這條查詢SQL可以利用組合索引來提升查詢效率

創建復合索引:CREATE INDEX idx_name_email_status ON tb_seller(NAME,email,STATUS);就相當于對name 創建索引 ;對name , email 創建了索引 ;對name , email, status 創建了索引 ;

責任編輯:

標簽: 數據結構

相關推薦:

精彩放送:

新聞聚焦
Top 一区二区三区电影_国产伦精品一区二区三区视频免费_亚洲欧美国产精品va在线观看_国产精品一二三四
久久精品国产亚洲a| 1769国产精品| 日韩亚洲不卡在线| 国产日韩欧美中文| 国产精品国产a级| 老司机午夜免费精品视频 | 欧美α欧美αv大片| 欧美怡红院视频| 亚洲午夜电影在线观看| 亚洲免费久久| 99精品欧美一区二区三区| 亚洲欧洲一区二区三区在线观看| 亚洲高清在线视频| 亚洲国产日韩美| 亚洲国内精品在线| 黄色影院成人| 在线观看福利一区| 在线国产日韩| 免播放器亚洲| 美女图片一区二区| 欧美另类视频在线| 欧美日韩国产亚洲一区| 欧美午夜一区| 国产亚洲欧美一区在线观看| 国产综合自拍| 欧美成人精品一区二区三区| 久久综合导航| 国产精品s色| 欧美日韩免费观看一区=区三区| 欧美成人免费网| 国产精品视频| 国产精品女人网站| 在线精品视频在线观看高清 | 午夜精品久久久久99热蜜桃导演| 亚洲欧美日韩国产中文| 久久国产精品久久久久久| 老司机一区二区| 国产精品r级在线| 国产一区二区精品在线观看| 91久久精品美女| 亚洲欧美日韩国产综合在线| 久久久国产精品一区二区中文| 久久夜色精品国产欧美乱极品| 欧美成人综合网站| 性做久久久久久久免费看| 久久深夜福利免费观看| 欧美日韩在线免费视频| 狠狠色伊人亚洲综合成人| 99精品免费网| 久久中文久久字幕| 欧美搞黄网站| 国产在线日韩| 在线亚洲欧美| 最新日韩在线| 久久成人精品无人区| 两个人的视频www国产精品| 欧美激情偷拍| 黄色欧美日韩| 午夜精品久久久久久久久久久| 久久精品一级爱片| 国产精品视频男人的天堂| 亚洲精品久久7777| 久久动漫亚洲| 国产欧美不卡| 亚洲一区在线免费观看| 欧美日韩国产一级片| 亚洲电影成人| 久久在线免费| 国产专区综合网| 久久精品一本| 国产精品综合网站| 日韩视频一区二区三区| 欧美成人精品1314www| 国产欧美在线视频| 亚洲影院色无极综合| 精东粉嫩av免费一区二区三区| 欧美激情第1页| 久久精品一区中文字幕| 亚洲一二区在线| 亚洲精品美女免费| 狠狠色综合一区二区| 欧美色网在线| 欧美成人中文| 久久精品国产免费看久久精品| 日韩视频免费| 亚洲大片一区二区三区| 国产乱肥老妇国产一区二| 欧美理论视频| 欧美激情一区二区三区| 乱人伦精品视频在线观看| 羞羞答答国产精品www一本 | 久久综合免费视频影院| 一本色道久久精品| …久久精品99久久香蕉国产 | 欧美精品成人91久久久久久久| 欧美一区=区| 午夜精品免费在线| 亚洲综合精品| 午夜精品一区二区三区四区| 日韩视频在线一区二区| 亚洲国产精品毛片| 亚洲高清在线观看| 91久久国产综合久久91精品网站| 国自产拍偷拍福利精品免费一| 国产日韩欧美在线播放不卡| 国产精品自在在线| 国产午夜精品一区二区三区视频| 国产精品毛片大码女人| 国产精品美女一区二区在线观看| 欧美视频一区二| 国产精品午夜在线观看| 国产亚洲日本欧美韩国| 国语自产精品视频在线看抢先版结局 | 欧美视频第二页| 欧美日韩视频专区在线播放| 欧美福利电影网| 欧美成人一区二区在线| 欧美国产精品| 欧美四级剧情无删版影片| 欧美午夜寂寞影院| 国产精品色一区二区三区| 国产日韩av高清| 精品动漫3d一区二区三区免费版 | 国产九九精品| 韩国欧美一区| 亚洲精品视频一区二区三区| 一区二区三区av| 欧美一区高清| 你懂的网址国产 欧美| 欧美日本久久| 国产日本欧美一区二区| 亚洲国产成人在线视频| 一区二区高清视频| 在线视频日韩| 久久久噜噜噜| 理论片一区二区在线| 欧美h视频在线| 欧美视频在线播放| 国产日韩欧美精品在线| 黄色成人在线免费| 亚洲美女91| 欧美在线一区二区| 欧美日韩精品三区| 国内在线观看一区二区三区 | 欧美高清在线一区| 国产精品福利在线观看网址| 国产精品一区视频| 亚洲黄色天堂| 性欧美大战久久久久久久免费观看 | 在线观看日韩av电影| 日韩视频在线你懂得| 欧美亚洲三区| 欧美日韩一区二区在线观看视频| 韩国精品在线观看| 亚洲在线电影| 欧美日韩国产综合久久| 一区二区在线观看av| 亚洲欧美综合国产精品一区| 欧美屁股在线| 亚洲欧洲三级电影| 久久综合给合久久狠狠色 | 久久久久国色av免费看影院 | 久久久久久网| 国产精品久久77777| 亚洲每日更新| 欧美激情按摩| 亚洲欧洲美洲综合色网| 久久综合免费视频影院| 国产综合网站| 久久精品国产亚洲一区二区三区| 国产精品视频久久| 亚洲欧美精品在线| 国产精品爱啪在线线免费观看| 日韩视频亚洲视频| 欧美日韩大片一区二区三区| 亚洲国产免费| 欧美精品日韩精品| 一区二区av在线| 国产精品av久久久久久麻豆网 | 国产精品成人午夜| 一区二区三区国产精华| 欧美国产一区二区| 亚洲国产精选| 欧美激情在线狂野欧美精品| 亚洲黄色尤物视频| 欧美精品1区| 中文一区在线| 国产精品日韩久久久| 亚洲一区二区三区四区中文| 欧美日韩亚洲一区二| 中文亚洲字幕| 国产伦精品一区二区三区高清版| 亚洲欧美日韩系列| 国产午夜精品一区二区三区视频| 性色av一区二区三区| 精品盗摄一区二区三区| 欧美成人按摩| 在线一区视频| 国产一区二区丝袜高跟鞋图片| 久久精品国产亚洲5555|