Database学习

索引

  索引在mysql 中也叫 '键',是存储引擎用来快速找到记录的一种数据结构.索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要.

索引优化应该是对查询性能优化最有效的手段了.索引能够轻易将查询性能提高好几个数量级.索引相当于字段的音序表,如果要查某个字,如果不使用音序表,则需要从几百页中逐页查询

索引的特点:

  创建与维护索引会消耗和很多时间与磁盘空间,但查询速度大大提高.

索引操作 - 建表创建索引

  创建表时

    语法:
    create table  表名(
        字段名1    数据类型  [完整性约束条件....],
        字段名2    数据类型  [完整性约束条件....],
        [ UNIQUE | FULLTEXT | SPATLAL ]  index | key 
        [索引名] (字段名[(长度)] [ASC | DESC])
        ); 

  普通创建索引示例:

    CREATE TABLE table1(
        id int,
        name  varchar(20),
        index index_name (name)
        );

  唯一索引示例: 

 CREATE TABLE table1(
        id int,
        name  varchar(20) unique,
        unique index index_name (name)
        );

  全文索引示例:

 CREATE TABLE table1(
        id int,
        name  varchar(20) unique,
        fulltext index index_name (name)
        );

  多列索引示例: 

CREATE TABLE table1(
        id int,
        name  varchar(20) unique,
        index index_name (id,name)
        );

索引操作 - 添加索引

  语法:(CREATE 方式)

CREATE [UNIQUE | FULLTEXT | SPATAL ] INDEX 索引名 ON 表名 (字段名[(长度)] [ ASC | DESC ]) ;

   语法:(LATER TABLE 方式)

ALTER TABLE 表名 ADD  [UNIQUE | FULLTEXT | SPATAL ] INDEX 索引名(字段名[(长度)] [ ASC | DESC ]) ;
方式1
CREATE INDEX  index_name on test1(name);
 
方式2
ALTER TABLE test1 ADD UNIQUE INDEX index_name(name);

索引操作 - 删除索引

  语法:DROP INDEX 索引名 on 表名

DROP INDEX index_name on test1;
DROP INDEX 2 on test2; //test2 表中的第2个字段
原文地址:https://www.cnblogs.com/Anec/p/9889874.html