MySql-索引

创建索引有三种方法:

(1)在创建表时创建索引;

(2)使用ALTER TABLE 语句创建索引;

(3)使用CREATE INDEX语句创建索引。

创建索引的类型有:普通索引(INDEX),唯一索引(UNIQUE INDEX),全文索引(FULLTEXT INDEX),空间索引(SPATIAL INDEX);其中全文索引,空间索引必须在MyISAM存储引擎下创建,且全文索引必须在数据类型为:CHAR、VARCHAR和TEXT的列上建立。

下面进行举例:

一、创建表时创建索引

1、创建普通索引

 CREATE TABLE T1
      (
        id           INT NOT NULL,
      name     CHAR(50)  NULL,
      INDEX   SingleIdx(name)
       )

创建普通索引的语句为INDEX [索引名](列名),其中列名可以为多个,即以多个关键字创建索引。

2、创建唯一索引

CREATE TABLE T1
(
 id            INT NOT NULL,
 name      CHAR(30) NOT NULL,
 UNIQUE INDEX UniqIdx(id)
)

创建唯一索引的语句为 UNIQUE INDEX [索引名](列名)

3、创建全文索引

CREATE TABLE T1
(
 id          INT NOT NULL,
 name    CHAR(30) NOT NULL,
 age       INT NOT NULL,
 info       VARCHAR(255),
 FULLTEXT  INDEX FullTxtIdx(info)
) ENGINE=MyISAM;

创建全文索引的语句为 FULLTEXT INDEX [索引名](列名),  其中存储引擎为MyISAM

4、创建空间索引

CREATE TABLE T1
(
 g  GEOMETRY NOT NULL,
 SPATIAL INDEX spatLdx(g),
) ENGINE = MyISAM;

创建空间索引的语句为 FULLTEXT INDEX [索引名](列名),  其中存储引擎为MyISAM

二、在已有表上创建索引

1、使用ALTER TABLE 语句创建索引

      其中基本语法为: ALTER TABLE table_name ADD [索引种类] [索引名](字段); 

      如:

      普通索引: ALTER TABLE book ADD INDEX BkNameIdx(bookname(30) ); 

      唯一索引: ALTER TABLE book ADD UNIQUE INDEX UniqidIdx( bookId ); 

  全文索引: ALTER TABLE book ADD FULLTEXT INDEX infoIdx( info); 

  空间索引: ALTER TABLE book ADD SPATIAL INDEX spatIdx( g ); 

 2、使用CREATE INNDEX语句创建索引

      其中基本语法为:

  CREATE [索引种类] INDEX [索引名] ON [表名](字段名)

      如:

      普通索引: CREATE INDEX BkNameIDX ON book(bookname); 

      唯一索引: CREATE UNIQUE INDEX UniqidIdx ON book( bookId ); 

  全文索引: CREATE FULLTEXT INDEX ON T1(info); 

  空间索引: CREATE SPATIAL INDEX spatIdx ON T1(g); 

 3、删除索引

   a、用ALTER TABLE 删除:

 ALTRER TABLE [表名] DROP INDEX [索引名];

b、用DROP INDEX删除:

 DROP INDEX [索引名] ON [表名];

未经允许不得转载:JX BLOG » MySql-索引

赞 (0)

评论 0

评论前必须登录!

登陆 注册