Mysql的索引

Mysql索引是创建在数据库表对象上的,由表中的一个字段或多个字段生产的键组成,这些键存储在数据结构【B树索引和哈希索引】中。Mysql索引的出现既可以提高数据库系统查询的速度,还可以保证字段的唯一性,从而实现数据库表的完整性。但是如果过多的创建索引则将会占据许多磁盘空间。

1、Mysql支持索引的分类

   普通索引:创建索引时,不附加任何限制条件(唯一、非空等限制),该类型的索引可以创建在任何数据类型的字段上。

   1) 创建表时创建普通索引语法:

 

create table table_name (
属性名1 字段类型1,
属性名2 字段类型2,
...
属性名n 字段类型n,
index|key 【索引名】(属性名【(长度)】【asc|desc】)
)

 

2) 在已存在的表上创建普通索引

create index 索引名 on 表名 (属性名【(长度)】【asc|desc】)

 

 

 唯一索引:在创建索引时,限制索引的值必须是唯一的。通过该类型的索引可以更快速第查询某条索引。

1) 创建表时创建唯一索引语法:

create table table_name (
属性名1 字段类型1,
属性名2 字段类型2,
...
属性名n 字段类型n,
unique index|key 【索引名】(属性名【(长度)】【asc|desc】)
)

2) 在已存在的表上创建唯一索引

create unique index 索引名 on 表名 (属性名【(长度)】【asc|desc】)

 

全文索引:全文索引主要关联在数据类型char、varchar和text的字段上,以便能够快速第查询数据量较大的字符串类型的字段。

1)创建表时创建全文索引语法:

create table table_name (
属性名1 字段类型1,
属性名2 字段类型2,
...
属性名n 字段类型n,
fulltext index|key 【索引名】(属性名【(长度)】【asc|desc】)
)

2) 在以存在的表上创建全文索引

create fulltext index 索引名 on 表名 (属性名【(长度)】【asc|desc】)

 

单列索引:

多列索引:在创建索引时,所关联的字段不是一个字段,而是多个字段。虽然可以通过所关联的字段进行查询,但是只有查询条件中使用了所关联字段中的第一个字段,多列索引才会被使用。

1)创建表时创建全文索引语法:

create table table_name (
属性名1 字段类型1,
属性名2 字段类型2,
...
属性名n 字段类型n,
index|key 【索引名】(属性名1【(长度)】【asc|desc】),...,(属性名2【(长度)】【asc|desc】)
)

2) 在以存在的表上创建全文索引

create fulltext index 索引名 on 表名 (属性名1【(长度)】【asc|desc】,...,属性名n【(长度)】【asc|desc】)

 

空间索引:

 

posted @ 2020-06-05 15:51  沉默小和尚  阅读(8)  评论(0编辑  收藏  举报