MySQL进阶——提高查询效率之添加索引的全部方式

MySQL进阶——提高查询效率之添加索引的全部方式

索引提高查询效率,本文介绍优化查询时添加索引的多种方式。

本文目录

一、创建表时添加索引二、使用 ALTER TABLE 语句添加索引三、使用 CREATE INDEX 语句添加索引

一、创建表时添加索引

在使用 CREATE TABLE 语句创建表的同时,可以为表中的列添加索引。适用于在设计表结构时就确定需要添加索引的情况。

语法如下:

CREATE TABLE table_name (

column1 datatype,

column2 datatype,

...

-- 普通索引

INDEX index_name (column_name),

-- 唯一索引

UNIQUE INDEX unique_index_name (column_name),

-- 主键索引

PRIMARY KEY (column_name),

-- 全文索引

FULLTEXT INDEX fulltext_index_name (column_name)

);

CREATE TABLE users (

id INT AUTO_INCREMENT,

username VARCHAR(50),

email VARCHAR(100),

age INT,

-- 为 username 列添加普通索引

INDEX idx_username (username),

-- 为 email 列添加唯一索引

UNIQUE INDEX idx_email (email),

-- 为 id 列添加主键索引

PRIMARY KEY (id)

);

二、使用 ALTER TABLE 语句添加索引

如果表已经创建好,后续发现需要添加索引,可以使用 ALTER TABLE 语句来为表中的列添加索引。

语法如下:

-- 添加普通索引

ALTER TABLE table_name ADD INDEX index_name (column_name);

-- 添加唯一索引

ALTER TABLE table_name ADD UNIQUE INDEX unique_index_name (column_name);

-- 添加全文索引

ALTER TABLE table_name ADD FULLTEXT INDEX fulltext_index_name (column_name);

-- 添加主键索引

ALTER TABLE table_name ADD PRIMARY KEY (column_name);

-- 为已存在的 users 表的 age 列添加普通索引

ALTER TABLE users ADD INDEX idx_age (age);

三、使用 CREATE INDEX 语句添加索引

CREATE INDEX 语句专门用于在已存在的表上添加索引,不能用于添加主键索引(主键索引需使用 ALTER TABLE 或在创建表时指定)。

语法如下:

-- 添加普通索引

CREATE INDEX index_name ON table_name (column_name);

-- 添加唯一索引

CREATE UNIQUE INDEX unique_index_name ON table_name (column_name);

-- 添加全文索引

CREATE FULLTEXT INDEX fulltext_index_name ON table_name (column_name);

-- 为 users 表的 username 列添加普通索引

CREATE INDEX idx_username ON users (username);

需要注意的是,虽然索引可以提高查询效率,但会增加数据插入、更新和删除的开销,同时会占用一定的存储空间。

← 上一篇 Java进阶——常用类及常用方法详解

记得点赞、关注、收藏哦!

下一篇 Java进阶——数组超详细整理 →

相关推荐

如何快速设置笔记本锁屏功能以保护隐私
www.bet3365

如何快速设置笔记本锁屏功能以保护隐私

🪐 10-03 👁️ 9860
魔兽世界诅咒之地风暴祭坛在哪
www.bet3365

魔兽世界诅咒之地风暴祭坛在哪

🪐 07-03 👁️ 2808
餐饮管理有哪些奖?全面解析国内外权威奖项
365彩票客户端下载

餐饮管理有哪些奖?全面解析国内外权威奖项

🪐 09-06 👁️ 2156