索引

一、简介、

1、简介

#是什么:
    索引是帮助MySQL高效获取数据的数据结构             #注意:索引是数据结构()
    可以简单的理解为排好序的快速查找数据结构

#索引原理
    通过不断地缩小想要获取数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件


#索引优缺点
     优点:可以快速检索,减少I/O次数,加快检索速度;根据索引分组和排序,可以加快分组和排序
    
    缺点:索引本身也是表,因此会占用存储空间,一般来说,索引表占用的空间的数据表的1.5倍;索引表的维护和创建需要时间成本,这个成本随着数据量增大而增大;构建索引会降低数据表的修改操作(删除,添加,修改)的效率,因为在修改数据表的同时还需要修改索引表;
    

2、哪些情况适合建索引

1、主键自动建立唯一索引
2、频繁作为查询条件的字段应该创建索引
3、查询中与其他表关联的字段,外键关系简历索引
4、频繁更新的字段不适合建立索引
5、where条件里用不到的字段不要建立索引
6、查询中排序的字段,排序字段若通过索引去访问,将大大提高排序速度
7、查询中统计或者分组字段

3、基本语法

#创建索引
1、在创建表的时候添加索引    
CREATE TABLE mytable(  
    ID INT NOT NULL,   
    username VARCHAR(16) NOT NULL,  
    INDEX [indexName] (username(length))  
2、表创建以后添加索引
ALTER TABLE my_table ADD [UNIQUE] INDEX index_name(column_name);
或者
CREATE INDEX index_name ON my_table(column_name)


#删除索引
drop index [indexname] on my_table


#查看索引
    show index from my_tableG
View Code
原文地址:https://www.cnblogs.com/pdun/p/11341510.html