中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL SHOW INDEX語法是什么意思

發布時間:2021-11-01 09:27:38 來源:億速云 閱讀:217 作者:iii 欄目:MySQL數據庫

這篇文章主要介紹“MySQL SHOW INDEX語法是什么意思”,在日常操作中,相信很多人在MySQL SHOW INDEX語法是什么意思問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MySQL SHOW INDEX語法是什么意思”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

如:show index from `order`

MySQL SHOW INDEX語法是什么意思

1、Table   表名

2、Non_unique  如果索引不能包括重復值則為0,如果可以則為1。也就是平時所說的唯一索引。

3、Key_name  索引名稱,如果名字相同則表明是同一個索引,而并不是重復,比如上圖中的第二、三條數據,索引名稱都是index_fID_lastTime,其實是一個聯合索引。

4、Seq_in_index 索引中的列序列號,從1開始。上圖中的二、三條數據,Seq_in_index一個是1一個是2,就是表明在聯合索引中的順序,我們就能推斷出聯合索引中索引的前后順序。

5、Column_name 索引的列名。

6、Collation  列以什么方式存儲在索引中,大概意思就是字符序。在MySQLSHOW INDEX語法中,有值’A’(升序)或NULL(無分類)。默認的類型是utf8_general_ci,這樣的大小寫不敏感,比如下面兩個sql會出現相同的查詢結果:

      select * from Table where content = 'Yes'
      select * from Table where content = 'yes'

    這樣可能不符合你的要求,你需要大小寫敏感的情況,你可以修改字段字符集類型,如下sql

    alter table bbs_posts modify column content varchar(5000) NOT NULL collate utf8_bin;

    這樣修改以后就OK了。

7、Cardinality  基數的意思,表示索引中唯一值的數目的估計值。基數根據被存儲為整數的統計數據來計數,所以即使對于小型表,該值也沒有必要是精確的。基數越大,當進行聯合時,MySQL使用該索引的機會就越大。我們知道某個字段的重復值越少越適合建索引,所以我們一般都是根據Cardinality來判斷索引是否具有高選擇性,如果這個值非常小,那就需要重新評估這個字段是否適合建立索引。因為MySQL數據庫中有各種不同的存儲引擎,而每種存儲引擎對于B+樹索引的實現又各不相同。所以對Cardinality統計時放在存儲引擎層進行的,至于它是如何統計更新的在這里就不再做更深入的介紹了。

8、Sub_part 前置索引的意思,如果列只是被部分地編入索引,則為被編入索引的字符的數目。如果整列被編入索引,則為NULL。如上圖所示,除了index_content那行顯示4外,其他的都是NULL,表明index_content是一個長度為4的前置索引。對于BLOB,TEXT,或者很長的VARCHAR類型的列,必須使用前綴索引,因為MySQL不允許索引這些列的完整長度,這會讓索引變得大且慢。選擇長度的訣竅在于要選擇足夠長的前綴以保證較高的選擇性,同時又不能太長以便節約空間。下面是計算前置索引長度的一般方法:    

      select count(distinct left(content,3))/count(*) from bbs_posts as sel3

      select count(distinct left(content,4))/count(*) from bbs_posts as sel4

      select count(distinct left(content,5))/count(*) from bbs_posts as sel5

     最后算出來那個長度的基數接近完整列的選擇行就OK了,完整列 select count(distinct content)/count(*) from bbs_posts

9、Packed  指示關鍵字如何被壓縮。如果沒有被壓縮,則為NULL。壓縮一般包括壓縮傳輸協議、壓縮列解決方案和壓縮表解決方案。

10、Null 如果列含有NULL,則含有YES。比如上圖中的lastOperateTime其中就包含null,我們知道建立索引的列是不允許為Null的,單列索引不存Null值,復合索引不存全為Null的值,如果列允許為Null,可能會得到“不符合預期”的結果集。我這里是為了更好的給大家展示故意構造了一些數據。

11、Index_type 索引類型,Mysql目前主要有以下幾種索引類型:FULLTEXT,HASH,BTREE,RTREE。    

    1). FULLTEXT
    即為全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不過目前只有 CHAR、VARCHAR ,TEXT 列上可以創建全文索引。全文索引并不是和MyISAM一起誕生的,它的出現是為了解決WHERE name LIKE “%word%"這類針對文本的模糊查詢效率較低的問題。
    2). HASH
    由于HASH的唯一(幾乎100%的唯一)及類似鍵值對的形式,很適合作為索引。    HASH索引可以一次定位,不需要像樹形索引那樣逐層查找,因此具有極高的效率。但是,這種高效是有條件的,即只在“=”和“in”條件下高效,對于范圍查詢、排序及組合索引仍然效率不高。
    3). BTREE    BTREE索引就是一種將索引值按一定的算法,存入一個樹形的數據結構中(二叉樹),每次查詢都是從樹的入口root開始,依次遍歷node,獲取leaf。這是MySQL里默認和最常用的索引類型。
    4). RTREE
    RTREE在MySQL很少使用,僅支持geometry數據類型,支持該類型的存儲引擎只有MyISAM、BDb、InnoDb、NDb、Archive幾種。相對于BTREE,RTREE的優勢在于范圍查找。

12、 Comment Index_comment  注釋的意思。

到此,關于“MySQL SHOW INDEX語法是什么意思”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临夏县| 广昌县| 沁源县| 东源县| 信阳市| 诸城市| 肥城市| 陕西省| 洪江市| 惠东县| 夏津县| 南和县| 平利县| 七台河市| 河曲县| 酉阳| 阜阳市| 玉林市| 峨眉山市| 屏南县| 比如县| 基隆市| 长沙县| 崇阳县| 开江县| 多伦县| 姜堰市| 雷州市| 静乐县| 嘉荫县| 信阳市| 全椒县| 正定县| 金昌市| 新宁县| 龙海市| 长汀县| 石嘴山市| 双柏县| 柳江县| 塔河县|