MySQL索引

一、索引的概念

定义:索引是对数据库表中一列或多列的值进行排序的一种结构,索引可以提高检索效率。数据库像书籍,索引就如目录。

优点:索引可以减少服务器需要扫描的数据量,从而加快检索速度;索引可以帮助服务器避免排序(order by)和创建临时表(join)

缺点:创建和维护索引需要耗费时间;索引需要占据物理空间;增删改需要动态维护

应用:经常搜索的列;主键列;用于连接的列(外链);根据范围(<,<=,=,>,>=,BETWEEN,IN)进行搜索的列;order by;where

二、索引的分类

逻辑分类与物理分类

1、逻辑分类:按功能分:主键索引--不允许重复、不允许NULL ,ALTER TABLE TableName ADD PRIMARY KEY(column_list);

                                  唯一索引--数据列不允许重复、允许NULL ,CREATE UNIQUE INDEX IndexName ON `TableName`(`字段名`(length));

                                  普通索引--可包含多个字段,允许数据重复,允许 NULL 值插入;

                   按列数分:单例索引--一个索引只包含一个列,一个表可以有多个单例索引;

                                  组合索引--一个组合索引包含两个或两个以上的列。查询是遵循“最左前缀”原则;

2、物理分类:聚簇索引

 

posted @ 2023-04-04 23:12  陈雪佩  阅读(16)  评论(0编辑  收藏  举报