数据库之——索引(学习笔记)

1.索引是什么

索引是由数据库表一列或者多列组合而成,其作用是提高对表中数据的查询速度,类似图书的图书目录,方便快速定位,寻找指定的内容;


2.索引的优缺点

优点:提高查询数据的速度;

缺点:创建和维护索引的时间增加了;



3.索引分类

1.普通索引
        这类索引可以创建在任何类型数据库中
2.唯一性索引
       使用UNIQUE参数可可以设置,在创建唯一性索引时,限制该索引的值必须时唯一的;

3.全文索引
        使用FULLTEXT参数可以设置,全文索引只能创建在CHAR,VARCHAR,TEXT类型的字段上。主要作用就是提高查询较大字符串类型的速度;只有MyISAM引起支持该索引,也可以时唯一性索引,Mysql默认引起不支持;

4.单列索引
    在表中可以给单个字段创建索引,单列索引可以时普通索引,也可以时唯一性索引,还可以时全文索引;

5.多列索引
      多列索引时在表的多个字段上创建一个索引; 

6.空间索引

    使用SPATIAL参数可以设置空间索引。空间索引只能建立在空间数据类型上,这样可以提高系统获取空间数据的效率;只有MyISAM引擎支持该索引,Mysql默认引擎不支持;

4.创建索引

    4.1  创建表的时候创建索引

    CREATETABLE 表名 (属性名 数据类型 [完整性约束条件],

                                 属性名 数据类型 [完整性约束条件],

                                 ....

                                 属性名 数据类型 [UNIQUE|FULLTEXT|SPATIAL]INDEX|KEY

                                        [别名](属性名 1[(长度)][ASC |DESC])

                                );

    4.2 在已经存在的表上创建索引

    CREATE[UNIQUE |FULLTEXT|SPATIAL]INDEX 索引名 ON 表名 (属性名 [(长度)][ASC |DESC])

    4.3 用ALTER TABLE 语句来创建索引

    ALTER TABLE 表名 ADD[UNIQUE |FULLTEXT|SPATIAL]INDEX 索引名 (属性名 [(长度)][ASC |DESC]);

  

   1.创建普通索引    

        create index index_userName on t_user(userName);

   2.创建唯一性索引

        create unique index index_userName on t_user(userName);

   3.创建全文索引

        create FULLTEXT index index_userName on t_user(userName);

   4.创建单列索引

        create index index_userName on t_user(userName);

   5.创建多列索引

        create index index_userName_password on t_user(userName,password)

   6.创建空间索引

       

        create SPATIALindex index_userName on t_user(userName);

5.删除索引

    DROPINDEX 索引名 ON 表名 ;

猜你喜欢

转载自blog.csdn.net/weixin_39941298/article/details/81050045