在 SQL 中,“加索引”通常有两层含义:
下面按常见数据库(MySQL / PostgreSQL / SQL Server)说明。
CREATE TABLE user (
id INT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(100),
INDEX idx_name (name),
UNIQUE INDEX idx_email (email)
);
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(100)
);
CREATE INDEX idx_name ON users(name);
CREATE UNIQUE INDEX idx_email ON users(email);
ALTER TABLE user
ADD INDEX idx_name (name);
-- 唯一索引
ALTER TABLE user
ADD UNIQUE INDEX idx_email (email);
-- 联合索引
ALTER TABLE orders
ADD INDEX idx_user_status (user_id, status);
或使用:
CREATE INDEX idx_name ON user(name);
CREATE INDEX idx_name ON users(name);
-- 联合索引
CREATE INDEX idx_order ON orders(user_id, status);
CREATE INDEX idx_name ON users(name);
SHOW INDEX FROM user;
\d user
sp_helpindex 'users';
-- MySQL / PostgreSQL
DROP INDEX idx_name ON user;
-- SQL Server
DROP INDEX user.idx_name;
✅ 常用于 WHERE、JOIN、ORDER BY 的字段
✅ 区分度高的字段更适合建索引
❌ 频繁更新的字段谨慎加索引
❌ 数据量小的表通常不需要索引
如果你有具体 SQL 或表结构,我可以直接帮你设计索引。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。