最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
關(guān)于mysql怎么查普通索引的信息

如何查看MySQL索引

查看索引

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:國際域名空間、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、沅江網(wǎng)站維護(hù)、網(wǎng)站推廣。

mysql show index from tblname;

mysql show keys from tblname;

· Table

表的名稱。

· Non_unique

如果索引不能包括重復(fù)詞,則為0。如果可以,則為1。

· Key_name

索引的名稱。

· Seq_in_index

索引中的列序列號,從1開始。

· Column_name

列名稱。

· Collation

列以什么方式存儲在索引中。在MySQL中,有值‘A’(升序)或NULL(無分類)。

· Cardinality

索引中唯一值的數(shù)目的估計值。通過運行ANALYZE TABLE或myisamchk -a可以更新?;鶖?shù)根據(jù)被存儲為整數(shù)的統(tǒng)計數(shù)據(jù)來計數(shù),所以即使對于小型表,該值也沒有必要是精確的?;鶖?shù)越大,當(dāng)進(jìn)行聯(lián)合時,MySQL使用該索引的機 會就越大。

· Sub_part

如果列只是被部分地編入索引,則為被編入索引的字符的數(shù)目。如果整列被編入索引,則為NULL。

· Packed

指示關(guān)鍵字如何被壓縮。如果沒有被壓縮,則為NULL。

· Null

如果列含有NULL,則含有YES。如果沒有,則該列含有NO。

· Index_type

用過的索引方法(BTREE, FULLTEXT, HASH, RTREE)。

· Comment

MySQL索引

MySQL的Innodb存儲引擎的索引分為聚集索引和非聚集索引兩大類

特點:B+樹葉子節(jié)點存儲行數(shù)據(jù)

一個表中,必須有一個聚集索引,只能有一個聚集索引,Innodb通常把一個表的主鍵索引作為聚集索引,如果沒有主鍵InnoDB會選擇一個唯一索引代替。如果沒有這樣的索引,InnoDB會隱式的定義一個主鍵來作為聚集索引,這個字段為6個字節(jié),類型為長整形。

利用主鍵索引查找行數(shù)據(jù)是最快的,建議使用自增主鍵原因是利于索引樹的構(gòu)建(主鍵自增寫入時新插入的數(shù)據(jù)不會影響到原有頁,插入效率高;但是如果主鍵是無序的或者隨機的,那每次的插入可能會導(dǎo)致原有頁頻繁的分裂,影響插入效率)

特點:B+樹葉子節(jié)點存儲主鍵ID

一個表中可以有多個非聚集索引,每個非聚集索引即是一棵B+樹

通過非聚集索引查找數(shù)據(jù)時,需要先在非聚集索引上找到主鍵ID,再從聚集索引獲取行數(shù)據(jù),這個過程就稱之為回表

B樹索引中的B樹實際上是B+樹,至于為什么使用B+樹而不使用B樹或者紅黑樹的原因在另外的文章中有提及。

特點:

特點:類似JDK中的HashMap,但無法支持范圍查詢

特點:使用的算法仍然是B樹索引,不同的就是索引列的值必須唯一

對于普通索引來說,查找到滿足條件的第一個記錄后,需要查找下一個記錄,直到碰到第一個不滿足條件的記錄。

對于唯一索引來說,由于索引定義了唯一性,查找到第一個滿足條件的記錄后,就會停止繼續(xù)檢索,提升索引性能

另外插入行時會構(gòu)建該唯一索引,假如索引值重復(fù)將插入失敗,適合業(yè)務(wù)上做唯一性檢驗

通過建立倒排索引,可以極大的提升檢索效率,解決判斷字段是否包含的問題,但是業(yè)務(wù)上一般都不采用這種索引,而是使用ES處理全文搜索需求

僅對某個特定字段建立的索引,如(biz_id)

對多個字段建立的索引,如(biz_id,type)

Mysql 索引覆蓋及回表查詢

在innoDB中,有兩大索引類,分別是

執(zhí)行上述語句,執(zhí)行過程如下圖

從圖中,我們可以看出,掃了兩個索引樹

(1)先從普通索引name找到lisi

(2)再根據(jù)主鍵值9,再在聚集索引中找到行記錄。

這就是回表查詢,先在普通索引中找到主鍵值,再在聚集索引中找到行記錄。

很顯然,在一棵索引樹上就能獲取SQL所需的所有列數(shù)據(jù)的,就是索引覆蓋。

如下語句

很顯然,我們可以直接在name索引上直接找到id,name,不用再去回表。

而且我們通過explain的extra屬性也能觀察到

像我們開頭的SQL語句

我們只需要在name索引中再加個sex,name(name,sex),這樣變成了聯(lián)合索引,也是索引覆蓋。

mysql索引

在mysql中,索引是一種特殊的數(shù)據(jù)庫結(jié)構(gòu),由數(shù)據(jù)表中的一列或多列組合而成,可以用來快速查詢數(shù)據(jù)表中有某一特定值的記錄。

通過索引,查詢數(shù)據(jù)時不用讀完記錄的所有信息,而只是查詢索引列即可。

通過索引,查詢數(shù)據(jù)時不用讀完記錄的所有信息,而只是查詢索引列。否則,數(shù)據(jù)庫系統(tǒng)將讀取每條記錄的所有信息進(jìn)行匹配。

可以把索引比作新華字典的音序表。例如,要查“庫”字,如果不使用音序,就需要從字典的 400 頁中逐頁來找。但是,如果提取拼音出來,構(gòu)成音序表,就只需要從 10 多頁的音序表中直接查找。這樣就可以大大節(jié)省時間。

因此,使用索引可以很大程度上提高數(shù)據(jù)庫的查詢速度,還有效的提高了數(shù)據(jù)庫系統(tǒng)的性能。

索引的優(yōu)缺點

索引有其明顯的優(yōu)勢,也有其不可避免的缺點。

優(yōu)點

索引的優(yōu)點如下:

1、通過創(chuàng)建唯一索引可以保證數(shù)據(jù)庫表中每一行數(shù)據(jù)的唯一性。

2、可以給所有的 MySQL 列類型設(shè)置索引。

3、可以大大加快數(shù)據(jù)的查詢速度,這是使用索引最主要的原因。

4、在實現(xiàn)數(shù)據(jù)的參考完整性方面可以加速表與表之間的連接。

5、在使用分組和排序子句進(jìn)行數(shù)據(jù)查詢時也可以顯著減少查詢中分組和排序的時間

缺點

增加索引也有許多不利的方面,主要如下:

1、創(chuàng)建和維護(hù)索引組要耗費時間,并且隨著數(shù)據(jù)量的增加所耗費的時間也會增加。

2、索引需要占磁盤空間,除了數(shù)據(jù)表占數(shù)據(jù)空間以外,每一個索引還要占一定的物理空間。如果有大量的索引,索引文件可能比數(shù)據(jù)文件更快達(dá)到最大文件尺寸。

3、當(dāng)對表中的數(shù)據(jù)進(jìn)行增加、刪除和修改的時候,索引也要動態(tài)維護(hù),這樣就降低了數(shù)據(jù)的維護(hù)速度。

使用索引時,需要綜合考慮索引的優(yōu)點和缺點。


網(wǎng)頁題目:關(guān)于mysql怎么查普通索引的信息
文章路徑:http://fisionsoft.com.cn/article/dsdhpsg.html