索引提高查询效率,本文介绍优化查询时添加索引的多种方式。
本文目录
一、创建表时添加索引二、使用 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进阶——数组超详细整理 →