Zhonghui

每个不曾起舞的日子,都是对生命的辜负

User Tools

Site Tools


程序:数据库:索引

索引 Index


AI:
索引(Index)就像书的“目录/索引页”——把某些列按特定结构排好,查询时不用把整本表一页页翻,只需沿着索引迅速找到目标行的位置,从而加速 WHERE / JOIN / ORDER BY / GROUP BY 等操作。
数据库为一列或多列建立的额外数据结构(常见是 B-Tree),记录“键 → 行位置”的映射。优化器据此选择 Index Seek(走索引)而非全表扫描。
代价:占空间;对 INSERT/UPDATE/DELETE 有维护开销(越多索引,写入越慢);需要统计信息与碎片维护。

# 创建INDEX
# 需要一个 index_name 和指定某一列
CREATE INDEX index_name
ON TABLE_NAME (column_name)
 
-- 单列
CREATE INDEX idx_users_email ON users(email);
 
-- 复合 + 排序优化(MySQL/Postgres 都支持 DESC 语法)
CREATE INDEX idx_orders_user_created ON orders(user_id, created_at DESC);
 
-- 唯一性
CREATE UNIQUE INDEX uq_users_email ON users(email);
/var/www/DokuWikiStick/dokuwiki/data/pages/程序/数据库/索引.txt · Last modified: 2025/09/20 05:09 by zhonghui