索引的定义
- 索引是帮助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开头,表示这是一个索引 - 后边跟要加索引的
表的名称,表明具体要添加索引的表 - 最后跟要添加索引的
列的名称 - 每部分中间用下划线
_分隔
