索引
簡介:
索引在MySQL中也叫做'鍵 key',
是存處引擎用于快速找到記錄的一種數據結構
索引對于良好的性能非常關鍵,
尤其是當表中的數據越來越多,索引對于性能的影響愈發重要
索引優化應該是對查詢性能優化的最有效手段了,
索引能夠輕易將查詢性能提高好幾個數量級
索引相當于新華字典的音序表
如果要查某個漢字,不使用音序表,則需要從幾百頁中的數據中去找找個漢字
簡單理解就是,索引就像一本書的目錄,讓你很快能夠查詢到你想要的數據
分類:
- 普通索引
- 唯一索引
- 全文索引
- 單列索引
- 多列索引
- 空間索引
那么,現在本人來介紹下“索引”的使用語法:
使用語法:
1. 創建索引:
使用 index 或者 key 關鍵字
方式1:創建表時 創建索引:
語法:
create table 表名(
字段名1 數據類型1 [約束],
字段名2 數據類型2 [約束],
[unique|fulltext|spatial] index|key
[索引名](字段名[(長度)] [ASC|DESC]) -- 注意中括號里面的是可選項
);
本人現在對創建索引做一點說明:
說明:
目前MySQL數據庫默認使用的是 InnoDB引擎,
InnoDB引擎 不支持FULLTEXT類型的索引
那么,現在本人來展示下創建索引的語句:
-- 創建多列索引
create table test2(
tid int,
tname varchar(32),
tlog varchar(100),
index my_Index (tname,tlog) -- 給 tname 和 tlog 兩個列都建立索引
);
-- 創建唯一索引
create table test(
tid int,
tname varchar(32),
unique index(tname) -- 創建唯一索引,這列的值不能重復
);
方式2:創建表后 給表增加索引:
語法:
create [unique|fulltext|spatial] index 索引名 on 表名 (字段名[(長度)] [ASC|DESC]);
那么,現在本人來展示下創建索引的語句:
-- 創建普通索引例子
create index myIndex on student (sname);
-- 創建全文索引例子
create unique index myIndex on student (sname);
-- 創建多列索引例子
create index myIndex on student (sname,slog);
方式3:創建表后,修改表的語句:
語法:
alter table 表名 add [unique|fulltext|spatial] index 索引名 on 表名 (字段名[(長度)] [ASC|DESC]);
例子:
-- 創建普通索引的例子
alter table student add index MyIndex(sname);
-- 創建唯一索引的例子
alter table student add unique index MyIndex(sname);
-- 創建多列索引
alter table student add index MyIndex(sname,slog);
2. 刪除索引:
語法:
drop index 索引名 on 表名;
3. 查看索引:
語法:
show create table 表名\G;
那么,在最后,本人再來說明一點:
說明:
在建表的時候,如果有主鍵,
這個主鍵,就帶有所有主鍵索引
那么,本篇博文的知識點在這里就講解完畢了。
(請觀看本人博文 —— 《數據庫 —— 專欄總集篇》)