1、定义
索引在 MySQL 中也叫做“键”,是存储引擎用于疾速找到记录的一种数据结构。索引对于良好的性能
十分要害,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。
索引优化应该是对查问性能优化最无效的伎俩了。索引可能轻易将查问性能进步好几个数量级。
索引相当于字典的音序表,如果要查某个字,如果不应用音序表,则须要从几百页中逐页去查。
可想而知!!十分重要的概念!!!2、MySQL 的索引分类
索引分类
1. 一般索引 index : 减速查找
2. 惟一索引
主键索引:primary key:减速查找 + 束缚(不为空且惟一)
惟一索引:unique:减速查找 + 束缚(惟一)
3. 联结索引
\-primary key(id,name): 联结主键索引
\-unique(id,name): 联结惟一索引
\-index(id,name): 联结一般索引
4. 全文索引 fulltext : 用于搜寻很长一篇文章的时候,成果最好。
5. 空间索引 spatial : 理解就好,简直不必 3、创立
` 善用帮忙文档 `
`help create`
`help create index`
`==================`
`1. 创立索引 `
`- 在创立表时就创立(须要留神的几点)`
`create table s1(`
`id int ,# 能够在这加 primary key`
`#id int index #不能够这样加索引,因为 index 只是索引,没有束缚一说,`
`# 不能像主键,还有惟一束缚一样,在定义字段的时候加索引 `
`name char(20),`
`age int,`
`email varchar(30)`
`#primary key(id) #也能够在这加 `
`index(id) #能够这样加 `
`);`
`- 在创立表后在创立 `
`create index name on s1(name); #增加一般索引 `
`create unique age on s1(age); 增加惟一索引 `
`alter table s1 add primary key(id); #增加住建索引,也就是给 id 字段减少一个主键束缚 `
`create index name on s1(id,name); #增加一般联结索引 `
`2. 删除索引 `
`drop index id on s1;`
`drop index name on s1; #删除一般索引 `
`drop index age on s1; #删除惟一索引,就和一般索引一样,不必在 index 前加 unique 来删,间接就能够删了 `
`alter table s1 drop primary key; #删除主键(因为它增加的时候是依照 alter 来减少的,那么咱们也用 alter 来删)`
来自 博客园 bypp/p/7755307.html