30.关于MySQL索引的定义及理解

1、定义
索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能
非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。
索引优化应该是对查询性能优化最有效的手段了。索引能够轻易将查询性能提高好几个数量级。
索引相当于字典的音序表,如果要查某个字,如果不使用音序表,则需要从几百页中逐页去查。
可想而知!!非常重要的概念!!!2、MySQL的索引分类
30.关于MySQL索引的定义及理解_第1张图片

`善用帮助文档`
`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

你可能感兴趣的:(php,mysql)