一、前言
MySQL中的索引是帮助数据库系统高效获取数据的数据结构。索引通过保存表中一列或多列的值以及相应的指向表中物理数据的指针来提高检索速度。
二、索引的定义
1. 索引是数据库管理系统中的一个数据结构,用于快速查找和定位数据。
2. 索引通常与表关联,并基于表中的一列或多列创建。
3. 索引以某种方式指向数据,使得数据库系统可以基于索引快速定位到数据。
三、索引的分类
MySQL支持多种类型的索引,主要包括:
普通索引(Non-unique Index):最基本的索引类型,没有唯一性的限制,允许在定义索引的列中插入重复值和空值。
代码示例:
CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
age INT,
INDEX idx_age (age)
);
或者你也可以在表创建后添加普通索引:
ALTER TABLE users ADD INDEX idx_age (age);
唯一索引(Unique Index):确保索引列中的值是唯一的,但允许有空值。一个表可以有多个唯一索引。
CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(255)