一、索引的原理
采用二叉树的原理 没有索引的话
select * from emp where id = 9
二、索引的类型
1、主键索引,主键自动的为主索引(类型Primary Key)
create table t1(
id int primary key,
name varchar(32);
)
2、唯一索引(UNIQUE)
create table t2(
id int unique,
name varchar(32);
)
3、普通索引(INDEX)
4、全文索引(FULLTEXT)【适用于MyISAM】一般开发,不使用mysql自带的全文索引,而是使用:全文搜索Solr和ElasticSearch(ES)
三、索引的使用
create table t3(
id int,
name varchar(32);
)
1、查询列表是否有索引
SHOW INDEXES FROM t3;
2、添加唯一索引
create unique index id_index on t3(id);
3、添加普通索引①
create index id_index on t3(id);
添加普通索引②
alter table t3 add index id_index (id)
4、添加主键索引
alter table t3 add primary key (id)
5、删除索引
DROP INDEX id_index ON t3
6、删除主键索引
ALTER TABLE t3 DROP PRIMARY KEY
7、修改索引(先删除、再添加新的索引)
四、总结
1、较为频繁作为查询条件字段的应该添加索引 2、唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件 3、更新非常频繁的 字段不适合创建索引 4、不会出现在where 子句中的字段不该创建索引
|