溫馨提示×

溫馨提示×

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

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

mysql索引的優(yōu)劣勢是什么以及使用方法

發(fā)布時(shí)間:2021-03-11 16:18:28 來源:億速云 閱讀:366 作者:TREX 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“mysql索引的優(yōu)劣勢是什么以及使用方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“mysql索引的優(yōu)劣勢是什么以及使用方法”吧!

一、索引的優(yōu)劣勢

優(yōu)點(diǎn):可以快速的檢索  、可以加快分組和排序

缺點(diǎn): 占用儲(chǔ)存空間、降低數(shù)據(jù)表的修改操作

二、索引的分類

主鍵索引即主索引,根據(jù)主鍵 pk_clolum(length)建立索引,不允許重復(fù),不允許空值
唯一索引用來建立索引的列的值必須是唯一的,允許空值
普通索引用表中的普通列構(gòu)建的索引,沒有任何限制
全文索引用大文本對象的列構(gòu)建的索引
全文索引用大文本對象的列構(gòu)建的索引;
組合索引用多個(gè)列組合構(gòu)建的索引,這多個(gè)列中的值不允許有空值。

三、使用索引的規(guī)則

1、適合建立索引的情況

  • 主鍵自動(dòng)建立唯一索引;

  • 經(jīng)常作為查詢條件在 WHERE 或者 ORDER BY 語句中出現(xiàn)的列要建立索引;

  • 作為排序的列要建立索引;

  • 查詢中與其他表關(guān)聯(lián)的字段,外鍵關(guān)系建立索引;

  • 高并發(fā)條件下傾向組合索引;

  • 用于聚合函數(shù)的列可以建立索引,例如使用了 max(column_1)或者count(column_1)時(shí)的 column_1 就需要建立索引。

2、不適合建立索引的情況

  • 經(jīng)常增刪改的列不要建立索引;

  • 有大量重復(fù)的列不建立索引;

  • 表記錄太少不要建立索引。

3、索引失靈的情況

  • 在組合索引中不能有列的值為 NULL,如果有,那么這一列對組合索引就是無效的;

  • LIKE 操作中,'%aaa%'不會(huì)使用索引,也就是索引會(huì)失效,但是‘a(chǎn)aa%'可以使用索引;

  • 在索引的列上使用表達(dá)式或者函數(shù)會(huì)使索引失效;

  • 在查詢條件中使用不等于,包括<符號(hào)、>符號(hào)和!=會(huì)導(dǎo)致索引失效;

  • 在查詢條件中使用 IS NULL 或者 IS NOT NULL 會(huì)導(dǎo)致索引失效;

  • 字符串不加單引號(hào)會(huì)導(dǎo)致索引失效;

  • 在查詢條件中使用 OR 連接多個(gè)條件會(huì)導(dǎo)致索引失效,除非 OR 鏈接的每個(gè)條件都加上索引;

  • 如果排序的字段使用了索引,那么 select 的字段也要是索引字段,否則索引失效;

  • 盡量不要包括多列排序,如果一定要,最好為這隊(duì)列構(gòu)建組合索引。

四、關(guān)于索引的SQL

1、創(chuàng)建表的時(shí)候添加索引

-- 創(chuàng)建表的時(shí)候添加索引
-- INDEX 關(guān)鍵詞
-- myindex 索引的名稱自己起的
-- (username(16))添加到哪一個(gè)字段上
CREATE TABLE mytable(
 ID INT NOT NULL,
 username VARCHAR(16) NOT NULL,
 INDEX myindex (username(16))
);

2、創(chuàng)建表過后添加索引

-- 添加索引
-- myindex索引的名字(自己定義)
-- mytable 表的名字
CREATE INDEX myindex ON mytable(username(16));
或者
ALTER TABLE mytable ADD INDEX myindex(username);

3 查看索引

-- mytable 表的名字
 show index FROM mytable;

4、刪除索引

-- myindex索引的名字(自己定義)
-- mytable 表的名字
DROP INDEX myindex ON mytable;
或者
ALTER TABLE mytable DROP INDEX myindex;

總結(jié)

到此,相信大家對“mysql索引的優(yōu)劣勢是什么以及使用方法”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI