Mysql学习笔记之【索引】

本文详细介绍了MySQL索引的分类,包括普通索引、唯一索引、主键索引和全文索引,以及它们的物理实现方式。讲解了索引的创建、查看和删除方法,强调了MySQL 8.0的新特性。同时,讨论了适合添加索引的情况,如唯一性字段、频繁查询的条件列、GROUP BY和ORDER BY操作,以及优化JOIN操作的索引策略。最后,提到了索引数量的限制,建议单表索引不超过6个。
摘要由CSDN通过智能技术生成

索引的分类

  1. 功能逻辑上说,索引有四种:普通索引,唯一索引,主键索引,全文索引
  2. 物理实现方式说:索引分为聚簇索引和非聚簇索引(二级索引)
  3. 字段个数说:索引分单列索引和联合索引

普通索引
在创建普通索引时,不添加任何限制条件,只是用于提高查询效率,可以添加到任何类型的字段上。

唯一索引
创建索引时,用UNIQUE参数限制,限制该字段值是唯一的,但是允许有NULL值,一张数据表中可以有多个唯一索引列。

主键索引
主键索引是一种特殊的唯一索引,在唯一索引的基础上加上了非空的约束。就是UNIQUE + NOT NULL,一张表里只能有一个主键索引。

全文索引
使用 FULLTEXT 可以设置全文检索,全文索引列中可以有重复值和空值,全文索引只能建在CHAR,VARCHAR,TEXT类型及系列类型字段上,查询数据量较大的字符串类型的字段时,使用全文索引可以提高查询速度。

索引的创建

方式一:创建表时创建索引

1.隐式的方式创建,在声明有主键约束,唯一约束,外键约束的字段上,会自动添加相关的索引

CREATE TABLE employee(
	e_id INT PRIMARY KEY AUTO_INCREMENT,
	e_email VARCHAR(50) UNIQUE,
	e_name VARCHAR(20)
); 

2.显示的方式创建
基本语法格式如下

CRATE TABLE table_name [col_name data_type]
[UNIQUE | FULLTEXT | SPATIAL] [INDEX | KEY ] [index_name] (col_name [length]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值