跳转至
用户认证 - eMac Tech Docs

用户认证

重要提醒

为了您的权益以及学习体验,请不要外借账号!

如果您没有账号或忘记密码,请联系管理员重置密码。

请输入您的登录信息

数据库索引

作用

graph TD
    subgraph 根节点
        A[15, 30]
    end

    subgraph 内部节点
        B[10, 20]
        C[20, 25]
    end

    subgraph 叶子节点
        D[5, 8, 10]
        E[15, 18, 20]
        F[25, 28, 30]
    end

    A --> B
    A --> C
    B --> D
    B --> E
    C --> F

本质

加速数据检索的数据结构,以空间换时间

索引类型

类型 数据结构 适用场景
B+树索引 B+树 范围查询、排序
哈希索引 哈希表 等值查询
全文索引 倒排索引 文本搜索
空间索引 R树 地理数据

示例

-- 创建索引
CREATE INDEX idx_name ON users(name);
CREATE UNIQUE INDEX idx_email ON users(email);

-- 复合索引
CREATE INDEX idx_name_age ON employees(name, age);

-- 查看执行计划
EXPLAIN SELECT * FROM users WHERE name = '张三';

注意事项

  • 索引不是越多越好,每个索引都需要维护成本
  • 遵循最左前缀原则使用复合索引
  • 避免在频繁更新的列上建索引
  • 索引失效场景:
  • 使用函数操作索引列
  • 隐式类型转换
  • 使用!=或<>操作符
  • 使用前导通配符LIKE '%xxx'