最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

mysql下普通索引和唯一索引的效率對(duì)比_MySQL

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 19:03:59
文檔

mysql下普通索引和唯一索引的效率對(duì)比_MySQL

mysql下普通索引和唯一索引的效率對(duì)比_MySQL:bitsCN.com 今天在我的虛擬機(jī)中布置了環(huán)境,測(cè)試抓圖如下:抓的這幾個(gè)都是第一次執(zhí)行的,刷了幾次后,取平均值,效率大致相同,而且如果在一個(gè)列上同時(shí)建唯一索引和普通索引的話,mysql會(huì)自動(dòng)選擇唯一索引。谷歌一下:唯一索引和普通索引使用的結(jié)構(gòu)都是B-t
推薦度:
導(dǎo)讀mysql下普通索引和唯一索引的效率對(duì)比_MySQL:bitsCN.com 今天在我的虛擬機(jī)中布置了環(huán)境,測(cè)試抓圖如下:抓的這幾個(gè)都是第一次執(zhí)行的,刷了幾次后,取平均值,效率大致相同,而且如果在一個(gè)列上同時(shí)建唯一索引和普通索引的話,mysql會(huì)自動(dòng)選擇唯一索引。谷歌一下:唯一索引和普通索引使用的結(jié)構(gòu)都是B-t

bitsCN.com

今天在我的虛擬機(jī)中布置了環(huán)境,測(cè)試抓圖如下:

抓的這幾個(gè)都是第一次執(zhí)行的,刷了幾次后,取平均值,效率大致相同,而且如果在一個(gè)列上同時(shí)建唯一索引和普通索引的話,mysql會(huì)自動(dòng)選擇唯一索引。

谷歌一下:

唯一索引和普通索引使用的結(jié)構(gòu)都是B-tree,執(zhí)行時(shí)間復(fù)雜度都是O(log n)。

補(bǔ)充下概念:

1、普通索引

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

2、唯一索引

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

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

注:

終于找到同事說(shuō)執(zhí)行效率不一樣的原因了,他在普通索引上創(chuàng)建的是前綴索引,只取了前16個(gè)字節(jié),而唯一索引使用的全字節(jié) :)

bitsCN.com

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

mysql下普通索引和唯一索引的效率對(duì)比_MySQL

mysql下普通索引和唯一索引的效率對(duì)比_MySQL:bitsCN.com 今天在我的虛擬機(jī)中布置了環(huán)境,測(cè)試抓圖如下:抓的這幾個(gè)都是第一次執(zhí)行的,刷了幾次后,取平均值,效率大致相同,而且如果在一個(gè)列上同時(shí)建唯一索引和普通索引的話,mysql會(huì)自動(dòng)選擇唯一索引。谷歌一下:唯一索引和普通索引使用的結(jié)構(gòu)都是B-t
推薦度:
標(biāo)簽: 效率 谷歌 虛擬機(jī)
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top