索引是为了提高数据库查询的速度,索引由表中的一个字段或多个字段生成的键组成。索引存储在数据结构中,通过mysql可以快速有效的查找与键值相关的字段。根据索引的存储类型,索引可以分为B树形索引(BTREE)和哈希索引(HASH)。InnoDB 和 MyISAM存储引擎支持BTREE类型索引,MEMORY存储引擎支持HASH类型索引.mysql支持6中索引,分别为普通索引,唯一索引,全文索引,单列索引,多列索引和空间索引。
创建普通索引
索引的创建:
(1)在创建表的时候创建索引
INDEXT| KEY [索引名] (字段名 长度 asc|desc)
(2)表创建之后创建索引
a. CREATE INDEX index_name ON table_name(字段名)
b. ALERT TABLE table_name ADD INDEX indexd_name(字段名)
查看索引:
a. show create table table_name \G
b. show index from table_name \G
创建唯一索引
索引的创建:
(1)在创建表的时候创建索引
UNIQUE INDEXT| KEY [索引名] (字段名 长度 asc|desc)
(2)表创建之后创建索引
a. CREATE UNIQUE INDEX index_name ON table_name(字段名)
b. ALERT TABLE table_name ADD UNIQUE INDEX indexd_name(字段名)
查看索引:
a. show create table table_name \G
b. show index from table_name \G
创建全文索引
全文索引主要关联在数据类型为CHAR, VARCHAER, TEXT的字段上,以便能够快速的查询数据量较大的字符串类型的字段。只能在数据存储类型为MyISAM的数据库表上创建全文索引
索引的创建:
(1)在创建表的时候创建索引
FULLTEXT INDEXT| KEY [索引名] (字段名 长度 asc|desc)
(2)表创建之后创建索引
a. CREATE FULLTEXT INDEX index_name ON table_name(字段名)
b. ALERT TABLE table_name ADD FULLTEXT INDEX indexd_name(字段名)
查看索引:
a. show create table table_name \G
b. show index from table_name \G