大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 MySQL索引分類

MySQL索引分類

更新時(shí)間:2021-01-04 17:53:19 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1498次

索引是一種特殊的文件(InnoDB 數(shù)據(jù)表上的索引是表空間的一個(gè)組成部分),它們包含著對數(shù)據(jù)表里所有記錄的引用指針。索引不是萬能的,索引可以加快數(shù)據(jù)檢索操作,但會使數(shù)據(jù)修改操作變慢。每修改數(shù)據(jù)記錄,索引就必須刷新一次。為了在某種程度上彌補(bǔ)這一缺陷,許多 SQL 命令都有一個(gè) DELAY_KEY_WRITE 項(xiàng)。這個(gè)選項(xiàng)的作用是暫時(shí)制止 MySQL 在該命令每插入一條新記錄和每修改一條現(xiàn)有之后立刻對索引進(jìn)行刷新,對索引的刷新將等到全部記錄插入/修改完畢之后再進(jìn)行。在需要把許多新記錄插入某個(gè)數(shù)據(jù)表的場合,DELAY_KEY_WRITE 選項(xiàng)的作用將非常明顯。

MySQL索引分類在MySQL索引中也是極為重要的內(nèi)容,本文我們就來看看MySQL索引分類的相關(guān)內(nèi)容。

 

MySQL索引分類有5種,分別為普通索引,索引,主索引,外鍵索引,復(fù)合索引。下面就MySQL索引5種分類做詳細(xì)的介紹。

1.普通索引

普通索引(由關(guān)鍵字 KEY 或 INDEX 定義的索引)的任務(wù)是加快對數(shù)據(jù)的訪問速度。因此,應(yīng)該只為那些最經(jīng)常出現(xiàn)查詢條件(WHERE column =)或排序條件(ORDER BY column)中的數(shù)據(jù)列創(chuàng)建索引。只要有可能,就應(yīng)該選擇一個(gè)數(shù)據(jù)最整齊、最緊湊的數(shù)據(jù)列(如一個(gè)整數(shù)類型的數(shù)據(jù)列)來創(chuàng)建索引。

2.索引

普通索引允許被索引的數(shù)據(jù)列包含重復(fù)的值。比如說,因?yàn)槿擞锌赡芡酝粋€(gè)姓名在同一個(gè)“員工個(gè)人資料”數(shù)據(jù)表里可能出現(xiàn)兩次或更多次。

如果能確定某個(gè)數(shù)據(jù)列將只包含彼此各不相同的值,在為這個(gè)數(shù)據(jù)列創(chuàng)建索引的時(shí)候就應(yīng)該用關(guān)鍵字UNIQUE 把它定義為一個(gè)索引。這么做的好處:一是簡化了 MySQL 對這個(gè)索引的管理工作,這個(gè)索引也因此而變得更有效率;二是 MySQL 會在有新記錄插入數(shù)據(jù)表時(shí),自動(dòng)檢查新記錄的這個(gè)字段的值是否已經(jīng)在某個(gè)記錄的這個(gè)字段里出現(xiàn)過了;如果是,MySQL 將拒絕插入那條新記錄。也就是說,索引可以保證數(shù)據(jù)記錄的獨(dú)特性。事實(shí)上,在許多場合,人們創(chuàng)建索引的目的往往不是為了提高訪問速度,而只是為了避免數(shù)據(jù)出現(xiàn)重復(fù)。

3.主索引

在前面已經(jīng)反復(fù)多次強(qiáng)調(diào)過:必須為主鍵字段創(chuàng)建一個(gè)索引,這個(gè)索引就是所謂的“主索引”。主索引區(qū)別是:前者在定義時(shí)使用的關(guān)鍵字是 PRIMARY 而不是 UNIQUE。

4.外鍵索引

如果為某個(gè)外鍵字段定義了一個(gè)外鍵約束條件,MySQL 就會定義一個(gè)內(nèi)部索引來幫助自己以最有效率的方式去管理和使用外鍵約束條件。

5.復(fù)合索引

索引可以覆蓋多個(gè)數(shù)據(jù)列,如像 INDEX (columnA, columnB) 索引。這種索引的特點(diǎn)是 MySQL 可以有選擇地使用一個(gè)這樣的索引。如果查詢操作只需要用到 columnA 數(shù)據(jù)列上的一個(gè)索引,就可以使用復(fù)合索引 INDEX(columnA, columnB)。不過,這種用法僅適用于在復(fù)合索引中排列在前的數(shù)據(jù)列組合。比如說,INDEX (A,B,C) 可以當(dāng)做 A 或 (A,B) 的索引來使用,但不能當(dāng)做 B、C 或 (B,C) 的索引來使用。

 

從理論上講,完全可以為數(shù)據(jù)表里的每個(gè)字段分別建一個(gè)索引,但MySQL 把同一個(gè)數(shù)據(jù)表里的索引總數(shù)限制為16個(gè)。另外,索引還會在硬盤上占用相當(dāng)大的空間。因此應(yīng)該只為最經(jīng)常查詢和最經(jīng)常排序的數(shù)據(jù)列建立索引。想要學(xué)習(xí)更多的MySQL 索引的相關(guān)知識可以觀看本站的MySQL教程,掌握MySQL全套知識。


提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 青草视频在线观看免费资源 | 国产乱码| 欧美一级毛片特黄大 | 国产在线成人a | 曰本毛片 | 亚洲精品va | 狠狠色噜噜狠狠狠狠97老肥女 | 老司机精品久久最新免费 | 操操操网站 | 国产综合成人亚洲区 | 日韩一区二区超清视频 | 久久青草精品一区二区三区 | 亚洲国产精品a一区二区三区 | aaa一级黑人毛片 | 亚洲国产一成人久久精品 | 国产一级特黄特色aa毛片 | 我爱52av好色 | 亚洲综合站 | 91久久精品国产一区二区 | 免费精品国产福利片 | 在线精品国产 | 欧美色欧美亚洲高清在线观看 | 综合伊人久久在一二三区 | 波多野结衣一二三区 | 色狠狠色综合吹潮 | 亚洲欧美一区二区三区二厂 | 在线 亚洲 欧美 | 亚洲视屏一区 | 免费毛片a | 97超视频在线观看 | 久久久久久免费视频 | 精品资源在线 | 亚洲欧美网站 | 曰本女人一级毛片看一级毛 | 91精品国产色综合久久不卡蜜 | 韩国精品videosex性韩国 | 在线精品国产 | 5g国产精品影院天天5g天天爽 | 99热这里只有精品在线观看 | 久久精品亚洲综合 | h片在线 |