索引
简介:
索引在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;
那么,在最后,本人再来说明一点:
说明:
在建表的时候,如果有主键,
这个主键,就带有所有主键索引
那么,本篇博文的知识点在这里就讲解完毕了。
(请观看本人博文 —— 《数据库 —— 专栏总集篇》)