04 索引

索引: 它是对数据库表中的一列或多列的值进行排序后的一种结构,作用是提高表中数据的查询速度。虽然索引可以提高数据的查询速度,但会占用一定的磁盘空间,也会消耗时间。

○ 普通索引

可以创建在任何数据类型中,其值是否唯一和非空没有固定要求。

○ 唯一性索引

唯一性索引是由UINQUE定义的,该索引所在的字段的值必须是唯一的。

○ 全文索引

全文索引由FULLTEXT定义的,它只能创建在CHAR、VARCHAR或TEXT类型的字段上。

○ 单列索引

单列索引指的是在表中单个字段上创建索引。

○ 多列索引

多列索引指的是在表中多个字段上创建索引,只有在查询条件中使用了这些字段中的第一个字段时,该索引才会被使用。

○ 空间索引

空间索引是由SPATIAL定义的索引,它只能创建在空间数据类型的字段上

GEOMETRY、POINT、LINESTRING、POLYGON)

 

1.创建索引

○ 创建表的时候创建索引

CREATE TABLE 表名(字段名 数据类型(完整性约束条件),

字段名 数据类型(完整性约束条件),

. . .

UNIQUE/FULLTEXT/SPATIAL  INDEX/KEY  索引名 字段名 ASC/DESC);

普通索引 不写默认普通索引

 唯一性索引

 全文索引

 单列索引

 多列索引

 

 

 空间索引

 

○ 使用CREATE INDEX 语句在已经存在的表上创建索引

CREATE  UNIQUE/FULLTEXT/SPATIAL  INDEX 索引名 ON 表名 字段名(长度) ASC/DESC

普通索引

唯一索引   CREATE  UNIQUE  INDEX  unqidx_id  on  book(bookid);

单列索引   CREATE  INDEX  index_id  on  book(bookid);

多列索引   CREATE  INDEX  mulitidx  on book(authors(20),info(20));

全文索引   CREATE  FULLTEXT  INDEX  on  ftindex book(bookname);

空间索引   CREATE  SPATIAL  INDEX  spatidx ON ...

 

○ 使用ALTER TABLE 语句在已经存在的表上创建索引

ALTER TABLE 表名 ADD UNIQUE/FULLTEXT/SPATIAL INDEX 索引名 字段名(长度)ASC/DESC

 2.删除索引

ALTER TABLE 表名 DROP INDEX 索引名

 

 ○ DROP INDEX 索引名 ON 表名            DROP INDEX indexone ON book;

 

posted @ 2020-05-01 14:58  深海心  阅读(131)  评论(0)    收藏  举报