MySQL索引

索引的作用
        在數(shù)據(jù)量非常大、涉及多表時(shí),為了提高查詢效率拖陆,數(shù)據(jù)庫會(huì)利用各種各樣快速定位技術(shù)來實(shí)現(xiàn)锡搜,
    加上索引列將有序查詢,查詢速度將大大翻倍署驻。
查看索引
    show index from tblname;或show keys from tblname;
字段 說明
Table 表名
Non_unique 如果索引不能包括重復(fù)詞奋献,則為0健霹。如果可以,則為1
Key_name 索引的名稱
Seq_in_index 索引中的列序列號(hào)瓶蚂,從1開始
Column_name 列名稱
Collation 列以什么方式存儲(chǔ)在索引中糖埋。在MySQL中,有值‘A'(升序)或NULL(無分類)
Cardinality 索引中唯一值的數(shù)目的估計(jì)值窃这。通過運(yùn)行ANALYZE TABLE或myisamchk -a可以更新瞳别。基數(shù)根據(jù)被存儲(chǔ)為整數(shù)的統(tǒng)計(jì)數(shù)據(jù)來計(jì)數(shù)杭攻,所以即使對(duì)于小型表祟敛,該值也沒有必要是精確的≌捉猓基數(shù)越大馆铁,當(dāng)進(jìn)行聯(lián)合時(shí),MySQL使用該索引的機(jī)會(huì)就越大
Sub_part 如果列只是被部分地編入索引锅睛,則為被編入索引的字符的數(shù)目埠巨。如果整列被編入索引,則為NULL
Packed 指示關(guān)鍵字如何被壓縮现拒。如果沒有被壓縮辣垒,則為NULL
Null 如果列含有NULL,則含有YES印蔬。如果沒有乍构,則該列含有NO
Index_type 用過的索引方法(BTREE, FULLTEXT, HASH, RTREE)
Comment 注釋
創(chuàng)建索引
    在create table 時(shí),可以創(chuàng)建索引扛点,也可以單獨(dú)用CREATE INDEX或ALTER TABLE來為表增加索引如:
    1.ALTER TABLE
        ALTER TABLE用來創(chuàng)建普通索引哥遮、UNIQUE索引或PRIMARY KEY索引。
        (1.)ALTER TABLE table_name ADD INDEX index_name (column_list)
        (2.)ALTER TABLE table_name ADD UNIQUE (column_list)
        (3.)ALTER TABLE table_name ADD PRIMARY KEY (column_list)
        其中table_name是要增加索引的表名陵究,column_list指出對(duì)哪些列進(jìn)行索引眠饮,
    多列時(shí)各列之間用逗號(hào)分隔。索引名index_name可選铜邮,缺省時(shí)仪召,MySQL將根據(jù)第一個(gè)索引列賦一個(gè)名稱。
    另外松蒜,ALTER TABLE允許在單個(gè)語句中更改多個(gè)表扔茅, 因此可以在同時(shí)創(chuàng)建多個(gè)索引。
    2.CREATE INDEX
        CREATE INDEX可對(duì)表增加普通索引或UNIQUE索引秸苗。
        (1)CREATE INDEX index_name ON table_name (column_list)
        (2)CREATE UNIQUE INDEX index_name ON table_name (column_list)
        table_name召娜、index_name和column_list具有與ALTER TABLE語句中相同的含義,索引名不可選惊楼。
    另外玖瘸,不能用CREATE INDEX語句創(chuàng)建PRIMARY KEY索引秸讹。
刪除索引
        可利用ALTER TABLE或DROP INDEX語句來刪除索引。類似于CREATE INDEX語句雅倒,
    DROP INDEX可以在ALTER TABLE內(nèi)部作為一條語句處理璃诀,語法如下。
        (1)DROP INDEX index_name ON talbe_name
        (2)ALTER TABLE table_name DROP INDEX index_name
        (3)ALTER TABLE table_name DROP PRIMARY KEY
        其中蔑匣,前兩條語句是等價(jià)的劣欢,刪除掉table_name中的索引index_name。
    第3條語句只在刪除PRIMARY KEY索引時(shí)使用裁良,因?yàn)橐粋€(gè)表只可能有一個(gè)PRIMARY KEY索引氧秘,
    因此不需要指定索引名。如果沒有創(chuàng)建PRIMARY KEY索引趴久,但表具有一個(gè)或多個(gè)UNIQUE索引丸相,
    則MySQL將刪除第一個(gè)UNIQUE索引。
        如果從表中刪除了某列彼棍,則索引會(huì)受到影響灭忠。對(duì)于多列組合的索引,如果刪除其中的某列座硕,
    則該列也會(huì)從索引中刪除弛作。如果刪除組成索引的所有列,則整個(gè)索引將被刪除华匾。
索引類型
        在創(chuàng)建索引時(shí)映琳,可以規(guī)定索引能否包含重復(fù)值。如果不包含蜘拉,則索引應(yīng)該創(chuàng)建為PRIMARY KEY
    或UNIQUE索引萨西。對(duì)于單列惟一性索引,這保證單列不包含重復(fù)的值旭旭。對(duì)于多列惟一性索引谎脯,保證多個(gè)值的
    組合不重復(fù)。
        PRIMARY KEY索引和UNIQUE索引非常類似持寄。事實(shí)上源梭,PRIMARY KEY索引僅是一個(gè)具有名稱PRIMARY
    的UNIQUE索引。這表示一個(gè)表只能包含一個(gè)PRIMARY KEY稍味,因?yàn)橐粋€(gè)表中不可能具有兩個(gè)同名的索引废麻。
        下面的SQL語句對(duì)students表在sid上添加PRIMARY KEY索引。代碼如下:
            ALTER TABLE students ADD PRIMARY KEY (sid)
強(qiáng)制索引和禁止某個(gè)索引
    1模庐、mysql強(qiáng)制使用索引:force index(索引名或者主鍵PRI)
          例如:
            select * from table force index(PRI) limit 2;(強(qiáng)制使用主鍵)
            select * from table force index(ziduan1_index) limit 2;
            (強(qiáng)制使用索引”ziduan1_index”)
            select * from table force index(PRI,ziduan1_index) limit 2;
            (強(qiáng)制使用索引”PRI和ziduan1_index”)
    2烛愧、mysql禁止某個(gè)索引:ignore index(索引名或者主鍵PRI)
          例如:
             select * from table ignore index(PRI) limit 2;(禁止使用主鍵)
             select * from table ignore index(ziduan1_index) limit 2;
             (禁止使用索引”ziduan1_index”)
             select * from table ignore index(PRI,ziduan1_index) limit 2;
             (禁止使用索引”PRI,ziduan1_index”)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子屑彻,更是在濱河造成了極大的恐慌,老刑警劉巖顶吮,帶你破解...
    沈念sama閱讀 211,348評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件社牲,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡悴了,警方通過查閱死者的電腦和手機(jī)搏恤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來湃交,“玉大人熟空,你說我怎么就攤上這事「爿海” “怎么了息罗?”我有些...
    開封第一講書人閱讀 156,936評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)才沧。 經(jīng)常有香客問我迈喉,道長(zhǎng),這世上最難降的妖魔是什么温圆? 我笑而不...
    開封第一講書人閱讀 56,427評(píng)論 1 283
  • 正文 為了忘掉前任挨摸,我火速辦了婚禮,結(jié)果婚禮上岁歉,老公的妹妹穿的比我還像新娘得运。我一直安慰自己,他們只是感情好锅移,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評(píng)論 6 385
  • 文/花漫 我一把揭開白布熔掺。 她就那樣靜靜地躺著,像睡著了一般非剃。 火紅的嫁衣襯著肌膚如雪瞬女。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,785評(píng)論 1 290
  • 那天努潘,我揣著相機(jī)與錄音诽偷,去河邊找鬼。 笑死疯坤,一個(gè)胖子當(dāng)著我的面吹牛报慕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播压怠,決...
    沈念sama閱讀 38,931評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼眠冈,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蜗顽,我...
    開封第一講書人閱讀 37,696評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤布卡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后雇盖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體忿等,經(jīng)...
    沈念sama閱讀 44,141評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評(píng)論 2 327
  • 正文 我和宋清朗相戀三年崔挖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了贸街。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,625評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡狸相,死狀恐怖薛匪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情脓鹃,我是刑警寧澤逸尖,帶...
    沈念sama閱讀 34,291評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站瘸右,受9級(jí)特大地震影響冷溶,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜尊浓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評(píng)論 3 312
  • 文/蒙蒙 一逞频、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧栋齿,春花似錦苗胀、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至菇用,卻和暖如春澜驮,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背惋鸥。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工杂穷, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人卦绣。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓耐量,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親滤港。 傳聞我的和親對(duì)象是個(gè)殘疾皇子廊蜒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 索引 數(shù)據(jù)庫中的查詢操作非常普遍山叮,索引就是提升查找速度的一種手段 索引的類型 從數(shù)據(jù)結(jié)構(gòu)角度分 1.B+索引:傳統(tǒng)...
    一凡呀閱讀 2,882評(píng)論 0 8
  • 索引是用來快速檢索出具有特定值的記錄著榴。如果沒有索引,數(shù)據(jù)庫就必須從第一條記錄開始進(jìn)行全表掃描屁倔,直到找出相關(guān)的行脑又。數(shù)...
    咕泡學(xué)院蓉蓉老師閱讀 447評(píng)論 0 2
  • [TOC] MySQL索引和SQL調(diào)優(yōu) 本文有參考網(wǎng)上其他相關(guān)文章,本文最后有附參考的鏈接 MySQL索引 MyS...
    AllenWu閱讀 2,603評(píng)論 0 43
  • 1.索引作用 在索引列上汰现,除了上面提到的有序查找之外挂谍,數(shù)據(jù)庫利用各種各樣的快速定位技術(shù)叔壤,能夠大大提高查詢效率瞎饲。特別...
    kang_KK閱讀 21,822評(píng)論 1 51
  • 選自《呂氏春秋》,由于作者不是一位孤單的編撰者炼绘,而是呂不韋及其門客共同編著嗅战,所以書中的思想觀點(diǎn)有兼容并包的特點(diǎn),雜...
    王家人寧閱讀 535評(píng)論 0 0