您好,登錄后才能下訂單哦!
本篇內容主要講解“mysql有沒有聯合索引”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“mysql有沒有聯合索引”吧!
mysql中有聯合索引;聯合索引指的是對表上的兩個或者兩個以上的列字段進行索引,也被稱為復合索引,如果僅對聯合索引后面的任意列執行搜索時,該索引是不會有任何作用,創建該索引的語法為“create index 索引名 on 表名 (字段名1,字段名2,...)”。
本教程操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。
mysql有聯合索引
聯合索引:也叫復合索引,指對表上的兩個或兩個以上的列字段進行索引。
Mysql從左到右使用索引中的字段,一個查詢可以只使用索引中的一部分,但只能是最左側部分。例如索引是key index (a,b,c),可以支持a | a,b| a,b,c 3種組合進行查找,但不支持 b,c組合查找
提示:僅僅對聯合索引后面的任意列執行搜索時,該索引是不會有任何作用
-- 用戶表 CREATE TABLE `user` ( `id` int(4) NOT NULL COMMENT '主鍵ID', `name` varchar(4) NOT NULL COMMENT '姓名', `age` int(3) NOT NULL COMMENT '年齡', PRIMARY KEY (`id`) )
1.創建索引
如上圖所示,我們創建好了用戶表,如果我們想在該表的name和age列字段上創建聯合索引,可采用下述SQL:
create index index_name_age on user (name,age);
創建聯合索引的語法:create index 索引名 on 表名 (字段名1,字段名2,...)
2.刪除索引
如果我們覺得所創建的聯合索引不適宜,可采用下述SQL刪除聯合索引:
drop index index_name_age on user;
或者采用:alter table 表名 drop index 索引名
alter table user drop index index_name_age;
3.存在同名索引時會報錯
假設已經創建了組合索引(index_name_age),如果再次創建該索引就會報下述錯誤:
Query : create index index_name_age on user (name,age) Error Code : 1061 Duplicate key name 'index_name_age'
4.查看索引
查看索引的語法:show index from 表名
SHOW INDEX FROM USER;
到此,相信大家對“mysql有沒有聯合索引”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。