索引(下)

本文详细介绍了数据库索引的类型,包括单值、唯一和复合索引,并讲解了创建、查看和删除索引的SQL语法。同时,强调了索引设计的原则,如选择高频查询列、使用唯一索引、控制索引数量以及利用最左前缀等,旨在提高查询效率和数据库性能。
摘要由CSDN通过智能技术生成

1. 索引分类

1) 单值索引:一个索引只包含单个列,一个表可以有多个单列索引

2) 唯一索引:索引列的值必须是唯一,但允许有空值

3) 复合索引:即一个索引包含多个列

2. 索引语法

1. 创建索引

 默认是BTREE 类型

CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
    [USING index_type] ON tbl_name(index_col_name, ...)

2. 查看索引

show index from table_name;

3. 删除索引

DROP INDEX index_name ON tal_name;

4. ALTER 命令与索引

--1. 该语句添加一个主键,这意味着索引值必须是唯一的,且不能为NULL
alter table tb_name add primary key(column_list);
--2. 创建唯一索引
alter table tb_name add unique index_name(column_list);
--3. 添加普通索引
alter table tb_name add index index_name(column_list);
--4. 创建全文索引
alter table tb_name add fulltext index_name(column_list);

3. 索引设计原则

  • 对查询频次高较高,且数据量大的表建立索引

  • 索引字段最佳候选列应从where子句的条件中提取。如果where子句中的组合比较多,那么应当挑选最常用、过滤效果最好的列的组合。

  • 使用唯一索引,区分度越高,使用索引的效率越高

  • 应该控制索引的数量,不宜过多导致维护损耗变大

  • 使用短索引,索引创建之后也是使用硬盘来存储的,因此提升索引访问的I/O效率,也可以提升总体的访问效率。

  • 利用最左前缀,N个列组合而成的组合索引,那么相当于创建了N个索引,如果查询时where子句中使用了组成该索引的前几个字段,那么这条查询SQL可以利用组合索引来提升查询效率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值