查看索引
讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國(guó)際域名空間、虛擬空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、沅江網(wǎng)站維護(hù)、網(wǎng)站推廣。
mysql show index from tblname;
mysql show keys from tblname;
· Table
表的名稱(chēng)。
· Non_unique
如果索引不能包括重復(fù)詞,則為0。如果可以,則為1。
· Key_name
索引的名稱(chēng)。
· Seq_in_index
索引中的列序列號(hào),從1開(kāi)始。
· Column_name
列名稱(chēng)。
· Collation
列以什么方式存儲(chǔ)在索引中。在MySQL中,有值‘A’(升序)或NULL(無(wú)分類(lèi))。
· Cardinality
索引中唯一值的數(shù)目的估計(jì)值。通過(guò)運(yùn)行ANALYZE TABLE或myisamchk -a可以更新?;鶖?shù)根據(jù)被存儲(chǔ)為整數(shù)的統(tǒng)計(jì)數(shù)據(jù)來(lái)計(jì)數(shù),所以即使對(duì)于小型表,該值也沒(méi)有必要是精確的?;鶖?shù)越大,當(dāng)進(jìn)行聯(lián)合時(shí),MySQL使用該索引的機(jī) 會(huì)就越大。
· Sub_part
如果列只是被部分地編入索引,則為被編入索引的字符的數(shù)目。如果整列被編入索引,則為NULL。
· Packed
指示關(guān)鍵字如何被壓縮。如果沒(méi)有被壓縮,則為NULL。
· Null
如果列含有NULL,則含有YES。如果沒(méi)有,則該列含有NO。
· Index_type
用過(guò)的索引方法(BTREE, FULLTEXT, HASH, RTREE)。
· Comment
MySQL的Innodb存儲(chǔ)引擎的索引分為聚集索引和非聚集索引兩大類(lèi)
特點(diǎn):B+樹(shù)葉子節(jié)點(diǎn)存儲(chǔ)行數(shù)據(jù)
一個(gè)表中,必須有一個(gè)聚集索引,只能有一個(gè)聚集索引,Innodb通常把一個(gè)表的主鍵索引作為聚集索引,如果沒(méi)有主鍵InnoDB會(huì)選擇一個(gè)唯一索引代替。如果沒(méi)有這樣的索引,InnoDB會(huì)隱式的定義一個(gè)主鍵來(lái)作為聚集索引,這個(gè)字段為6個(gè)字節(jié),類(lèi)型為長(zhǎng)整形。
利用主鍵索引查找行數(shù)據(jù)是最快的,建議使用自增主鍵原因是利于索引樹(shù)的構(gòu)建(主鍵自增寫(xiě)入時(shí)新插入的數(shù)據(jù)不會(huì)影響到原有頁(yè),插入效率高;但是如果主鍵是無(wú)序的或者隨機(jī)的,那每次的插入可能會(huì)導(dǎo)致原有頁(yè)頻繁的分裂,影響插入效率)
特點(diǎn):B+樹(shù)葉子節(jié)點(diǎn)存儲(chǔ)主鍵ID
一個(gè)表中可以有多個(gè)非聚集索引,每個(gè)非聚集索引即是一棵B+樹(shù)
通過(guò)非聚集索引查找數(shù)據(jù)時(shí),需要先在非聚集索引上找到主鍵ID,再?gòu)木奂饕@取行數(shù)據(jù),這個(gè)過(guò)程就稱(chēng)之為回表
B樹(shù)索引中的B樹(shù)實(shí)際上是B+樹(shù),至于為什么使用B+樹(shù)而不使用B樹(shù)或者紅黑樹(shù)的原因在另外的文章中有提及。
特點(diǎn):
特點(diǎn):類(lèi)似JDK中的HashMap,但無(wú)法支持范圍查詢(xún)
特點(diǎn):使用的算法仍然是B樹(shù)索引,不同的就是索引列的值必須唯一
對(duì)于普通索引來(lái)說(shuō),查找到滿(mǎn)足條件的第一個(gè)記錄后,需要查找下一個(gè)記錄,直到碰到第一個(gè)不滿(mǎn)足條件的記錄。
對(duì)于唯一索引來(lái)說(shuō),由于索引定義了唯一性,查找到第一個(gè)滿(mǎn)足條件的記錄后,就會(huì)停止繼續(xù)檢索,提升索引性能
另外插入行時(shí)會(huì)構(gòu)建該唯一索引,假如索引值重復(fù)將插入失敗,適合業(yè)務(wù)上做唯一性檢驗(yàn)
通過(guò)建立倒排索引,可以極大的提升檢索效率,解決判斷字段是否包含的問(wèn)題,但是業(yè)務(wù)上一般都不采用這種索引,而是使用ES處理全文搜索需求
僅對(duì)某個(gè)特定字段建立的索引,如(biz_id)
對(duì)多個(gè)字段建立的索引,如(biz_id,type)
在innoDB中,有兩大索引類(lèi),分別是
執(zhí)行上述語(yǔ)句,執(zhí)行過(guò)程如下圖
從圖中,我們可以看出,掃了兩個(gè)索引樹(shù)
(1)先從普通索引name找到lisi
(2)再根據(jù)主鍵值9,再在聚集索引中找到行記錄。
這就是回表查詢(xún),先在普通索引中找到主鍵值,再在聚集索引中找到行記錄。
很顯然,在一棵索引樹(shù)上就能獲取SQL所需的所有列數(shù)據(jù)的,就是索引覆蓋。
如下語(yǔ)句
很顯然,我們可以直接在name索引上直接找到id,name,不用再去回表。
而且我們通過(guò)explain的extra屬性也能觀察到
像我們開(kāi)頭的SQL語(yǔ)句
我們只需要在name索引中再加個(gè)sex,name(name,sex),這樣變成了聯(lián)合索引,也是索引覆蓋。
在mysql中,索引是一種特殊的數(shù)據(jù)庫(kù)結(jié)構(gòu),由數(shù)據(jù)表中的一列或多列組合而成,可以用來(lái)快速查詢(xún)數(shù)據(jù)表中有某一特定值的記錄。
通過(guò)索引,查詢(xún)數(shù)據(jù)時(shí)不用讀完記錄的所有信息,而只是查詢(xún)索引列即可。
通過(guò)索引,查詢(xún)數(shù)據(jù)時(shí)不用讀完記錄的所有信息,而只是查詢(xún)索引列。否則,數(shù)據(jù)庫(kù)系統(tǒng)將讀取每條記錄的所有信息進(jìn)行匹配。
可以把索引比作新華字典的音序表。例如,要查“庫(kù)”字,如果不使用音序,就需要從字典的 400 頁(yè)中逐頁(yè)來(lái)找。但是,如果提取拼音出來(lái),構(gòu)成音序表,就只需要從 10 多頁(yè)的音序表中直接查找。這樣就可以大大節(jié)省時(shí)間。
因此,使用索引可以很大程度上提高數(shù)據(jù)庫(kù)的查詢(xún)速度,還有效的提高了數(shù)據(jù)庫(kù)系統(tǒng)的性能。
索引的優(yōu)缺點(diǎn)
索引有其明顯的優(yōu)勢(shì),也有其不可避免的缺點(diǎn)。
優(yōu)點(diǎn)
索引的優(yōu)點(diǎn)如下:
1、通過(guò)創(chuàng)建唯一索引可以保證數(shù)據(jù)庫(kù)表中每一行數(shù)據(jù)的唯一性。
2、可以給所有的 MySQL 列類(lèi)型設(shè)置索引。
3、可以大大加快數(shù)據(jù)的查詢(xún)速度,這是使用索引最主要的原因。
4、在實(shí)現(xiàn)數(shù)據(jù)的參考完整性方面可以加速表與表之間的連接。
5、在使用分組和排序子句進(jìn)行數(shù)據(jù)查詢(xún)時(shí)也可以顯著減少查詢(xún)中分組和排序的時(shí)間
缺點(diǎn)
增加索引也有許多不利的方面,主要如下:
1、創(chuàng)建和維護(hù)索引組要耗費(fèi)時(shí)間,并且隨著數(shù)據(jù)量的增加所耗費(fèi)的時(shí)間也會(huì)增加。
2、索引需要占磁盤(pán)空間,除了數(shù)據(jù)表占數(shù)據(jù)空間以外,每一個(gè)索引還要占一定的物理空間。如果有大量的索引,索引文件可能比數(shù)據(jù)文件更快達(dá)到最大文件尺寸。
3、當(dāng)對(duì)表中的數(shù)據(jù)進(jìn)行增加、刪除和修改的時(shí)候,索引也要?jiǎng)討B(tài)維護(hù),這樣就降低了數(shù)據(jù)的維護(hù)速度。
使用索引時(shí),需要綜合考慮索引的優(yōu)點(diǎn)和缺點(diǎn)。
當(dāng)前標(biāo)題:關(guān)于mysql怎么查普通索引的信息
標(biāo)題來(lái)源:http://m.rwnh.cn/article36/dsdhpsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、網(wǎng)站策劃、云服務(wù)器、品牌網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)