MySQL数据库索引
2019-04-17 本文已影响13人
Okami_
索引的定义
- 索引是帮助MySQL高效获取数据的数据结构
索引分类
-
普通索引
: 即一个索引只包含单个列,一个表可以有多个单列索引 -
唯一索引
:索引列的值必须唯一,但允许有空值 -
复合索引
:即一个索引包含多个列 -
聚簇索引
:并不是一种单独的索引类型,而是一种数据存储方式。具体细节取决于不同的实现,InnoDB的聚簇索引其实就是在同一个结构中保存了B-Tree索引和数据行 -
非聚簇索引
:不是聚簇索引,就是非聚簇索引
索引相关语法
-
查看索引:
-
SHOW INDEX FROM table_name
查询结果
-
-
创建索引:
-
CREATE [UNIQUE ] INDEX indexName ON mytable(columnname(length));
-
ALTER TABLE 表名 ADD [UNIQUE ] INDEX [indexName] ON (columnname(length))
-
-
删除索引:
DROP INDEX [indexName] ON mytable;
索引名称命名规范
- 以
idx
开头,表示这是一个索引 - 后边跟要加索引的
表的名称
,表明具体要添加索引的表 - 最后跟要添加索引的
列的名称
- 每部分中间用下划线
_
分隔