索引 Index
概述
- 索引是一种排好序的快速查找的数据结构,它帮助数据库高效的进行数据的检索。在数据之外,数据库系统还维护着满足特定查找算法的数据结构(额外的存储空间),这些数据结构以某种方式指向数据,这样就可以在这些数据结构上实现高效的查找算法。这种数据结构就叫做索引。
- 一般来说索引本身也很大,不可能全部存储在内存中,因此往往以索引文件的形式存放在磁盘中。目前大多数索引都采用BTree树方式构建。
分类
-
单值索引:一个索引只包括一个列,一个表可以有多个列
-
唯一索引:索引列的值必须唯一,但允许有空值;主键会自动创建唯一索引
-
复合索引:一个索引同时包括多列
创建索引
#查看索引,主键会自动创建索引
SHOW INDEX FROM empext
#创建索引
#CREATE INDEX empext_index ON empext (cardno)
# 创建唯一索引
ALTER TABLE empext ADD UNIQUE (phone)
ALTER TABLE empext ADD UNIQUE (cardno)
# 创建复合索引
ALTER TABLE empext ADD INDEX idx_phone_cardno (phone,cardno)
# 创建复合唯一索引