Mysql之索引的应用

                                                   SQL索引

 

1.什么是索引?

所谓的索引它是数据库一个特殊对象,用来加快数据的搜索速度,节省搜索时间。

2.索引的类型

Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。

MySQL默认的索引类型是BTREE。

3.索引种类

普通索引:仅加速查询

唯一索引:加速查询 + 列值唯一(可以有null)

主键索引:加速查询 + 列值唯一(不可以有null)+ 表中只有一个

组合索引:多列值组成一个索引,专门用于组合搜索,其效率大于索引合并

4.创建索引的三种方式

1.直接创建索引

CREATE INDEX index_name ON table_name(col_name)

2.通过修改表结构创建索引

ALTER TABLE table_name ADD INDEX index_name(col_name);

3.创建表示直接创建索引

CRETE TABLE table_name (ID INT NOT NULL, col_name INT NOT NULL varchar(64) ,INDEX index_name (col_name));

4.删除索引

--直接删除索引DROP INDEX index_name ON table_name;--修改表结构删除索引ALTER TABLE table_name DROP INDEX index_name;

5.查看其它

- 查看表结构
    desc table_name;
 - 查看生成表的SQL
    show create table table_name;
 - 查看索引
    show index from  table_name;
 - 查看执行时间
    set profiling = 1;
    SQL...
    show profiles;

5.索引的缺点

索引是占用空间的。

索引会影响update,insert,delete的速度。

6.在什么地方使用

基本上是在查询条件上创建索引。

注意:在查询条件上不要计算处理,is noll不会走,is not null会走。or也会导致索引失效,除非or关联的字段都加上索引。以like%开头的也会失效。

猜你喜欢

转载自blog.csdn.net/demo_gsl/article/details/88622156