Mysql如何查看表的索引
Mysql查看表的索引
MySQL索引的建立對(duì)于MySQL的高效運(yùn)行是很重要的,索引可以大大提高M(jìn)ySQL的檢索速度。
打個(gè)比方,如果合理的設(shè)計(jì)且使用索引的MySQL是一輛蘭博基尼的話(huà),那么沒(méi)有設(shè)計(jì)和使用索引的MySQL就是一個(gè)人力三輪車(chē)。
拿漢語(yǔ)字典的目錄頁(yè)(索引)打比方,我們可以按拼音、筆畫(huà)、偏旁部首等排序的目錄(索引)快速查找到需要的字。
索引分單列索引和組合索引。單列索引,即一個(gè)索引只包含單個(gè)列,一個(gè)表可以有多個(gè)單列索引,但這不是組合索引。組合索引,即一個(gè)索引包含多個(gè)列。
創(chuàng)建索引時(shí),你需要確保該索引是應(yīng)用在 SQL 查詢(xún)語(yǔ)句的條件(一般作為 WHERE 子句的條件)。
實(shí)際上,索引也是一張表,該表保存了主鍵與索引字段,并指向?qū)嶓w表的記錄。
上面都在說(shuō)使用索引的好處,但過(guò)多的使用索引將會(huì)造成濫用。
因此索引也會(huì)有它的缺點(diǎn):雖然索引大大提高了查詢(xún)速度,同時(shí)卻會(huì)降低更新表的速度,如對(duì)表進(jìn)行INSERT、UPDATE和DELETE。
因?yàn)楦卤頃r(shí),MySQL不僅要保存數(shù)據(jù),還要保存一下索引文件。
建立索引會(huì)占用磁盤(pán)空間的索引文件。
索引優(yōu)缺點(diǎn)
優(yōu)點(diǎn)
1.大大加快數(shù)據(jù)的檢索速度;
2.創(chuàng)建唯一性索引,保證數(shù)據(jù)庫(kù)表中每一行數(shù)據(jù)的唯一性;
3.加速表和表之間的連接;
4.在使用分組和排序子句進(jìn)行數(shù)據(jù)檢索時(shí),可以顯著減少查詢(xún)中分組和排序的時(shí)間。
缺點(diǎn)
1.索引需要占物理空間。
2.當(dāng)對(duì)表中的數(shù)據(jù)進(jìn)行增加、刪除和修改的時(shí)候,索引也要?jiǎng)討B(tài)的維護(hù),降低了數(shù)據(jù)的維護(hù)速度。
查看表的索引:
show index from table_name(表名)
結(jié)果列表中各字段的含義:
.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)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
my.cnf(my.ini)重要參數(shù)優(yōu)化配置說(shuō)明
本文針對(duì)mysql不同存儲(chǔ)引擎,MyISAM與Innodb進(jìn)行了講解如何進(jìn)行my.cnf(my.ini)的參數(shù)優(yōu)化2018-03-03
MySQL5.6 GTID模式下同步復(fù)制報(bào)錯(cuò)不能跳過(guò)的解決方法
搭建虛擬機(jī)centos6.0, mysql5.6.10主從復(fù)制,死活不同步,搞了一整天找到這篇文章終于OK了,特分享一下,需要的朋友可以參考下2020-04-04
MySQL中的數(shù)據(jù)備份與SQL語(yǔ)句
這篇文章主要介紹了MySQL中的數(shù)據(jù)備份與SQL語(yǔ)句,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
MySQL 一則慢日志監(jiān)控誤報(bào)的問(wèn)題分析與解決
這篇文章主要介紹了MySQL 一則慢日志監(jiān)控誤報(bào)的問(wèn)題分析與解決,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下2021-01-01
MySQL中獲取最大值MAX()函數(shù)和ORDER BY … LIMIT 1比較
mysql取最大值的的是max 和order by兩種方式,同時(shí)也大多數(shù)人人為max的效率更高,在本文中,我們將介紹MySQL中MAX()和ORDER BY … LIMIT 1兩種獲取最大值的方法以及它們性能上的差異,同時(shí)我們將探討這種性能差異的原因,并提供一些優(yōu)化建議2024-03-03

