mysql索引的使用

MYD是存储数据的文件,MYI是索引文件。
索引提高了查询速度,降低了增删改的速度,并非加的越多越好。
索引的类型:
1、key,普通索引
2、unique key,唯一索引
create table t12(
name char(10),
email char(20),
key name(name),
unique key email(email)
);
3、primary key,主键索引
一张表中只能有一个primary key
create table t23(
id int unsigned auto_increment primary key
);
4、fulltext全文索引
中文环境下,全文索引无效。
中文环境下,需要 分词+索引才有效,一般用第三方解决方案,如sphinx
create table t24 (
name char(10),
email char(20),
key name(name),
unique key email(email(10)) //可以设置索引长度来优化索引
);
5、多列索引
create table t25 (
xing char(10),
ming char(10),
key xm(xing,ming) //多列索引
);
左前缀规则,左侧可以使用索引,右侧固定左侧不知道无法使用索引
6、冗余索引就是在某个列上,可能存在多个索引。
索引操作
1、查看一张表的索引
show index from 表名
show create table 表名
查看建表语句,后面也会显示索引
2、删除索引
删除哪张表的哪个索引
alter table t23 drop index name
drop index name on t23
3、添加索引
alter table t23 add index/unique xm(xing,ming);
4、添加主键索引
alter table t23 add primary key(id[主键名称]);
5、删除主键索引
alter table t23 drop primary key;

posted @ 2017-12-15 12:44  mayer326  阅读(130)  评论(0编辑  收藏  举报