内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

關(guān)于mysql怎么查普通索引的信息

如何查看MySQL索引

查看索引

讓客戶(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索引

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)

Mysql 索引覆蓋及回表查詢(xún)

在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索引

在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)

商城網(wǎng)站建設(shè)
青河县| 昔阳县| 青冈县| 镇远县| 祁门县| 桦甸市| 望奎县| 呼伦贝尔市| 鹤庆县| 彭阳县| 嵊州市| 晋中市| 华坪县| 太谷县| 韶关市| 宁都县| 安仁县| 昌邑市| 沛县| 双柏县| 遂溪县| 会昌县| 崇礼县| 彭山县| 泌阳县| 长宁县| 鸡泽县| 德昌县| 宣汉县| 泸西县| 阿克陶县| 忻城县| 太谷县| 启东市| 曲周县| 扶绥县| 衢州市| 韶山市| 宁海县| 财经| 永胜县|